本文整理汇总了PHP中spip_setcookie函数的典型用法代码示例。如果您正苦于以下问题:PHP spip_setcookie函数的具体用法?PHP spip_setcookie怎么用?PHP spip_setcookie使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了spip_setcookie函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: formulaires_configurer_preferences_traiter_dist
function formulaires_configurer_preferences_traiter_dist()
{
if ($couleur = _request('couleur')) {
$GLOBALS['visiteur_session']['prefs']['couleur'] = $couleur;
}
if ($display = _request('display')) {
$GLOBALS['visiteur_session']['prefs']['display'] = $display;
}
if ($display_navigation = _request('display_navigation')) {
$GLOBALS['visiteur_session']['prefs']['display_navigation'] = $display_navigation;
}
if (!is_null($display_outils = _request('display_outils'))) {
$GLOBALS['visiteur_session']['prefs']['display_outils'] = $display_outils;
}
if (intval($GLOBALS['visiteur_session']['id_auteur'])) {
include_spip('action/editer_auteur');
$c = array('prefs' => serialize($GLOBALS['visiteur_session']['prefs']));
if (_request('imessage')) {
$c['imessage'] = _request('imessage');
}
auteur_modifier($GLOBALS['visiteur_session']['id_auteur'], $c);
}
if ($spip_ecran = _request('spip_ecran')) {
// Poser un cookie,
// car ce reglage depend plus du navigateur que de l'utilisateur
$GLOBALS['spip_ecran'] = $spip_ecran;
include_spip('inc/cookie');
spip_setcookie('spip_ecran', $_COOKIE['spip_ecran'] = $spip_ecran, time() + 365 * 24 * 3600);
}
return array('message_ok' => _T('config_info_enregistree'), 'editable' => true);
}
示例2: action_zengarden_activer_theme_dist
function action_zengarden_activer_theme_dist()
{
$securiser_action = charger_fonction('securiser_action', 'inc');
$arg = $securiser_action();
if (strncmp('defaut:', $arg, 7) == 0) {
$dir_theme = _DIR_RACINE . substr($arg, 7);
$flux = pipeline('zengarden_activer_theme', array('args' => array('dir' => $dir_theme, 'action' => 'effacer'), 'data' => true));
if ($flux) {
include_spip('inc/meta');
effacer_meta("zengarden_theme");
}
} elseif (strncmp('apercu:', $arg, 7) == 0) {
$theme = substr($arg, 7);
$dir_theme = _DIR_RACINE . $theme;
if (is_dir($dir_theme)) {
$flux = pipeline('zengarden_activer_theme', array('args' => array('dir' => $dir_theme, 'action' => 'apercevoir'), 'data' => true));
if ($flux) {
include_spip('inc/cookie');
spip_setcookie('spip_zengarden_theme', $theme);
}
}
} elseif (strncmp('activation:', $arg, 11) == 0) {
$theme = substr($arg, 11);
$dir_theme = _DIR_RACINE . $theme;
if (is_dir($dir_theme)) {
$flux = pipeline('zengarden_activer_theme', array('args' => array('dir' => $dir_theme, 'action' => 'activer'), 'data' => true));
if ($flux) {
include_spip('inc/meta');
ecrire_meta("zengarden_theme", $theme);
}
}
}
}
示例3: action_logout_dist
/**
* Se deloger
* Pour eviter les CSRF on passe par une etape de confirmation si pas de jeton,
* avec un autosubmit js pour ne pas compliquer l'experience utilisateur
*
* http://doc.spip.org/@action_logout_dist
*
*/
function action_logout_dist()
{
$logout =_request('logout');
$url = _request('url');
// seul le loge peut se deloger
// (mais id_auteur peut valoir 0 apres une restauration avortee)
if (isset($GLOBALS['visiteur_session']['id_auteur'])
AND is_numeric($GLOBALS['visiteur_session']['id_auteur'])
// des sessions anonymes avec id_auteur=0 existent,
// mais elles n'ont pas de statut : verifier ca aussi
AND isset($GLOBALS['visiteur_session']['statut'])) {
// relancer si pas de jeton
if (!action_logout_secu($logout, $url, _request('jeton'))) {
return; // page submit retournee
} elseif (isset($_COOKIE['spip_session'])) {
// le logout explicite vaut destruction de toutes les sessions
$session = charger_fonction('session', 'inc');
$session($GLOBALS['visiteur_session']['id_auteur']);
spip_setcookie('spip_session', $_COOKIE['spip_session'], time()-3600);
}
include_spip('inc/auth');
auth_trace($GLOBALS['visiteur_session'],'0000-00-00 00:00:00');
}
// Action terminee (ou non faite si pas les droits) on redirige.
// Cas particulier, logout dans l'espace public
$url = securiser_redirect_action($url);
if ($logout == 'public' AND !$url)
$url = url_de_base();
include_spip('inc/headers');
redirige_par_entete($url
// contrer le cache navigateur (Safari3)
? parametre_url($url, 'var_hasard', uniqid(rand()), '&')
: generer_url_public('login'));
}
示例4: action_logout_dist
function action_logout_dist()
{
global $visiteur_session, $ignore_auth_http;
$logout = _request('logout');
$url = securiser_redirect_action(_request('url'));
// cas particulier, logout dans l'espace public
if ($logout == 'public' and !$url) {
$url = url_de_base();
}
// seul le loge peut se deloger (mais id_auteur peut valoir 0 apres une restauration avortee)
if (is_numeric($visiteur_session['id_auteur'])) {
include_spip('inc/auth');
auth_trace($visiteur_session, '0000-00-00 00:00:00');
// le logout explicite vaut destruction de toutes les sessions
if (isset($_COOKIE['spip_session'])) {
$session = charger_fonction('session', 'inc');
$session($visiteur_session['id_auteur']);
spip_setcookie('spip_session', $_COOKIE['spip_session'], time() - 3600);
}
// si authentification http, et que la personne est loge,
// pour se deconnecter, il faut proposer un nouveau formulaire de connexion http
if (isset($_SERVER['PHP_AUTH_USER']) and !$ignore_auth_http and $GLOBALS['auth_can_disconnect']) {
ask_php_auth(_T('login_deconnexion_ok'), _T('login_verifiez_navigateur'), _T('login_retour_public'), "redirect=" . _DIR_RESTREINT_ABS, _T('login_test_navigateur'), true);
}
}
// Rediriger en contrant le cache navigateur (Safari3)
include_spip('inc/headers');
redirige_par_entete($url ? parametre_url($url, 'var_hasard', uniqid(rand()), '&') : generer_url_public('login'));
}
示例5: action_converser_post
function action_converser_post($lang, $ecrire=false)
{
if ($lang) {
include_spip('inc/lang');
if (changer_langue($lang)) {
spip_setcookie('spip_lang', $_COOKIE['spip_lang'] = $lang, time() + 365 * 24 * 3600);
if ($ecrire)
spip_setcookie('spip_lang_ecrire', $_COOKIE['spip_lang_ecrire'] = $lang, time() + 365 * 24 * 3600);
}
}
}
示例6: exec_test_ajax_dist
function exec_test_ajax_dist() {
switch (_request('js')) {
// on est appele par <noscript>
case -1:
spip_setcookie('spip_accepte_ajax', -1);
include_spip('inc/headers');
redirige_par_entete(chemin_image('puce-orange-anim.gif'));
break;
// ou par ajax
case 1:
default:
spip_setcookie('spip_accepte_ajax', 1);
break;
}
}
示例7: action_logout_dist
/**
* Se deloger
* Pour eviter les CSRF on passe par une etape de confirmation si pas de jeton fourni
* avec un autosubmit js pour ne pas compliquer l'experience utilisateur
*
* Déconnecte l'utilisateur en cours et le redirige sur l'URL indiquée par
* l'argument de l'action sécurisée, et sinon sur la page d'accueil
* de l'espace public.
*
*/
function action_logout_dist()
{
$logout = _request('logout');
$url = securiser_redirect_action(_request('url'));
// cas particulier, logout dans l'espace public
if ($logout == 'public' and !$url) {
$url = url_de_base();
}
// seul le loge peut se deloger (mais id_auteur peut valoir 0 apres une restauration avortee)
if (isset($GLOBALS['visiteur_session']['id_auteur']) and is_numeric($GLOBALS['visiteur_session']['id_auteur']) and isset($GLOBALS['visiteur_session']['statut'])) {
// il faut un jeton pour fermer la session (eviter les CSRF)
if (!($jeton = _request('jeton')) or !verifier_jeton_logout($jeton, $GLOBALS['visiteur_session'])) {
$jeton = generer_jeton_logout($GLOBALS['visiteur_session']);
$action = generer_url_action("logout", "jeton={$jeton}");
$action = parametre_url($action, 'logout', _request('logout'));
$action = parametre_url($action, 'url', _request('url'));
include_spip("inc/minipres");
include_spip("inc/filtres");
$texte = bouton_action(_T('spip:icone_deconnecter'), $action);
$texte = "<div class='boutons'>{$texte}</div>";
$texte .= '<script type="text/javascript">document.write("<style>body{visibility:hidden;}</style>");window.document.forms[0].submit();</script>';
$res = minipres(_T('spip:icone_deconnecter'), $texte, '', true);
echo $res;
return;
}
include_spip('inc/auth');
auth_trace($GLOBALS['visiteur_session'], '0000-00-00 00:00:00');
// le logout explicite vaut destruction de toutes les sessions
if (isset($_COOKIE['spip_session'])) {
$session = charger_fonction('session', 'inc');
$session($GLOBALS['visiteur_session']['id_auteur']);
spip_setcookie('spip_session', $_COOKIE['spip_session'], time() - 3600);
}
// si authentification http, et que la personne est loge,
// pour se deconnecter, il faut proposer un nouveau formulaire de connexion http
if (isset($_SERVER['PHP_AUTH_USER']) and !$GLOBALS['ignore_auth_http'] and $GLOBALS['auth_can_disconnect']) {
ask_php_auth(_T('login_deconnexion_ok'), _T('login_verifiez_navigateur'), _T('login_retour_public'), "redirect=" . _DIR_RESTREINT_ABS, _T('login_test_navigateur'), true);
}
}
// Rediriger en contrant le cache navigateur (Safari3)
include_spip('inc/headers');
redirige_par_entete($url ? parametre_url($url, 'var_hasard', uniqid(rand()), '&') : generer_url_public('login'));
}
示例8: action_preferer_dist
function action_preferer_dist()
{
//
// Preferences de presentation de l'espace prive
//
if ($_GET['arg'] !== 'display:4') {
$securiser_action = charger_fonction('securiser_action', 'inc');
$arg = $securiser_action();
} else {
$arg = $_GET['arg'];
}
if (!preg_match(",^(.+):(.*)\$,", $arg, $r)) {
spip_log("action_preferer_dist: {$arg} pas compris");
} else {
$prefs_mod = false;
list(, $op, $val) = $r;
if ($op == 'couleur') {
$GLOBALS['visiteur_session']['prefs']['couleur'] = $val;
$prefs_mod = true;
} elseif ($op == 'display') {
$GLOBALS['visiteur_session']['prefs']['display'] = $val;
$prefs_mod = true;
} elseif ($op == 'display_outils') {
$GLOBALS['visiteur_session']['prefs']['display_outils'] = $val;
$prefs_mod = true;
}
if ($prefs_mod and intval($GLOBALS['visiteur_session']['id_auteur'])) {
sql_updateq('spip_auteurs', array('prefs' => serialize($GLOBALS['visiteur_session']['prefs'])), "id_auteur=" . intval($GLOBALS['visiteur_session']['id_auteur']));
}
if ($op == 'spip_ecran') {
// Poser un cookie,
// car ce reglage depend plus du navigateur que de l'utilisateur
$GLOBALS['spip_ecran'] = $val;
include_spip('inc/cookie');
spip_setcookie('spip_ecran', $val, time() + 365 * 24 * 3600);
}
// Si modif des couleurs en ajax, redirect inutile on a change de CSS
if ($_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest') {
exit;
}
}
}
示例9: balise_LANGUE_PREFEREE_LIEN_EFFACE_COOKIE_dyn
function balise_LANGUE_PREFEREE_LIEN_EFFACE_COOKIE_dyn($texte = '')
{
if ($texte == '') {
$texte = _T('languepreferee:efface_cookie');
}
include_spip('inc/meta');
$lien = '';
if (isset($_COOKIE['spip_langue_preferee']) && $_COOKIE['spip_langue_preferee'] != '') {
if (isset($_GET['var_langue_preferee_efface_cookie'])) {
include_spip('inc/cookie');
spip_setcookie('spip_langue_preferee', '', time() - 3600*24*10, chemin_cookie());
} else {
$url = preg_replace("/([?&])var_langue_preferee_efface_cookie=[^&]+(&)?/", "$1", self());
$url .= (strpos($url, '?') > 0 ? '&' : '?').'var_langue_preferee_efface_cookie=oui';
$lien = '<a href="'.$url.'">'.$texte.'</a>';
}
}
return $lien;
}
示例10: formulaires_login_verifier_dist
function formulaires_login_verifier_dist($cible = "", $login = "", $prive = null)
{
$session_login = _request('var_login');
$session_password = _request('password');
$session_remember = _request('session_remember');
if (!$session_login) {
# pas de login saisi !
return array('var_login' => _T('info_obligatoire'));
}
// appeler auth_identifier_login qui va :
// - renvoyer un string si echec (message d'erreur)
// - un array decrivant l'auteur identifie si possible
// - rediriger vers un SSO qui renverra in fine sur action/auth qui finira l'authentification
include_spip('inc/auth');
$auteur = auth_identifier_login($session_login, $session_password);
// on arrive ici si on ne s'est pas identifie avec un SSO
if (!is_array($auteur)) {
$erreurs = array();
if (is_string($auteur)) {
$erreurs['var_login'] = $auteur;
}
include_spip('inc/cookie');
spip_setcookie("spip_admin", "", time() - 3600);
if (strlen($session_password)) {
$erreurs['password'] = _T('login_erreur_pass');
} else {
$erreurs['password'] = ' ';
}
return $erreurs;
}
// on a ete authentifie, construire la session
// en gerant la duree demandee pour son cookie
if ($session_remember !== NULL) {
$auteur['cookie'] = $session_remember;
}
auth_loger($auteur);
return is_null($prive) ? is_url_prive($cible) : $prive ? login_autoriser() : array();
}
示例11: balise_LANGUE_PREFEREE_SECTEUR_REDIRECTION_dyn
function balise_LANGUE_PREFEREE_SECTEUR_REDIRECTION_dyn($liste_rub_exclues="")
{
include_spip('inc/meta');
// Recuperation des langues des secteurs
$langues_secteurs = array();
include_spip('base/abstract_sql');
$query = 'SELECT DISTINCT(lang) FROM spip_rubriques WHERE id_parent=0 AND statut="publie" GROUP BY lang';
if ($res = sql_query($query)) { // was spip_query($query)) {
while($row = sql_fetch($res)) { // was spip_fetch_array
$langues_secteurs[] = $row['lang'];
}
}
// Détection de la langue preferee
if (isset($_GET['lang']) && in_array($_GET['lang'], $langues_secteurs)) {
// Soit passee dans l'url, auquel cas c'est un choix qu'on conserve pour la suite
$langue_preferee = $_GET['lang'];
include_spip('inc/cookie');
// On pose un cookie d'un an de duree de vie
spip_setcookie('spip_langue_preferee', $langue_preferee, time() + 3660*24*365, chemin_cookie());
} elseif(isset($_COOKIE['spip_lang']) && in_array($_COOKIE['spip_lang'], $langues_secteurs)){
//Soit un cookie lang est présent
$langue_preferee = $_COOKIE['spip_lang'];
include_spip('inc/cookie');
// On pose un cookie d'un an de duree de vie
spip_setcookie('spip_langue_preferee', $langue_preferee, time() + 3660*24*365, chemin_cookie());
}elseif (isset($_COOKIE['spip_langue_preferee']) && in_array($_COOKIE['spip_langue_preferee'], $langues_secteurs)) {
// Soit deja enregistree dans un cookie
$langue_preferee = $_COOKIE['spip_langue_preferee'];
} else {
// Soit indeterminee
$langues_navigateur = getenv('HTTP_ACCEPT_LANGUAGE');
// On supprime les taux de pertinence des langues acceptees
$langues_navigateur = preg_replace("/;q=[.0-9]+(,)?/", "$1", $langues_navigateur);
$langues_navigateur = explode(',', $langues_navigateur);
// Quelles sont les langues acceptees disponibles dans les secteurs
$langues_possibles = array_intersect($langues_navigateur, $langues_secteurs);
if (count($langues_possibles)) {
list(, $langue_preferee) = each($langues_possibles);
} else {
// fr-ca -> fr
$langues_navigateur_reduites = array();
foreach($langues_navigateur as $langue) {
$langue_reduite = substr($langue, 0, 2);
if (!in_array($langue_reduite, $langues_navigateur_reduites)) {
$langues_navigateur_reduites[] = $langue_reduite;
}
}
// Quelles sont les langues acceptees reduites disponibles dans les secteurs
$langues_reduites_possibles = array_intersect($langues_navigateur_reduites, $langues_secteurs);
if (count($langues_reduites_possibles)) {
list(, $langue_preferee) = each($langues_reduites_possibles);
} elseif (in_array(lire_meta('langue_site'), $langues_secteurs)) {
// Quelle est alors la langue par defaut du site
$langue_preferee = lire_meta('langue_site');
} else {
// Tant pis, on prend le premier secteur qui vient...
list(, $langue_preferee) = each($langues_secteurs);
}
}
}
// On recupere l'id du premier secteur trouve correspondant a la langue preferee (tant pis s'il y en a plusieurs)
if (!empty($liste_rub_exclues)) {
$query='SELECT id_rubrique FROM spip_rubriques WHERE id_parent=0 AND lang='._q($langue_preferee).' AND id_rubrique NOT IN ('.$liste_rub_exclues.') LIMIT 0,1';
} else {
$query = 'SELECT id_rubrique FROM spip_rubriques WHERE id_parent=0 AND lang='._q($langue_preferee).' LIMIT 0,1';
}
$res = sql_query($query) ; // was spip_query($query);
if ($row = sql_fetch($res)) { // was spip_fetch_array
$id_rubrique = $row['id_rubrique'];
if ( $GLOBALS['spip_version_code']<1.93) { // spip 1.9.x
if (!function_exists('generer_url_rubrique')) { include_spip('urls/'.$GLOBALS['type_urls']); }
$url_rubrique = generer_url_rubrique($id_rubrique);
} else { // spip 2.x
if (!function_exists('generer_url_entite')) { include_spip('inc/utils'); }
$url_rubrique = generer_url_entite($id_rubrique,'rubrique');
}
spip_log('Redirection vers '.$url_rubrique);
header('Location: '.$url_rubrique);
exit;
}
}
示例12: include_spip
*
*/
if (!defined("_ECRIRE_INC_VERSION")) {
return;
}
// definition des balises et filtres boites
include_spip('inc/filtres_boites');
// verifier une seule fois que l'on peut utiliser APL si demande
if (defined('_Z_AJAX_PARALLEL_LOAD')) {
// les pages APL contiennent un <noscript>
// avec une meta refresh sur self()+var_zapl=non
// ainsi, les clients sans javascript rechargent la page,
// se voient poser un cookie, et voient ensuite le site sans APL
if (_request('var_zapl') == 'non') {
include_spip('inc/cookie');
spip_setcookie('no_zapl', $_COOKIE['no_zapl'] = 'no_zapl');
}
if (!isset($_COOKIE['no_zapl']) and !_IS_BOT and !_request('var_zajax') and _request('var_mode') !== "debug" and $_SERVER['REQUEST_METHOD'] == 'GET') {
define('_Z_AJAX_PARALLEL_LOAD_OK', true);
$GLOBALS['marqueur'] = isset($GLOBALS['marqueur']) ? $GLOBALS['marqueur'] . ":Zapl" : ":Zapl";
}
}
/**
* Inutilise mais permet le chargement de ce fichier avant le decodage des urls
* et l'utilisation de _DEFINIR_CONTEXTE_TYPE
*
* @param <type> $flux
*
* @return <type>
*/
function zcore_declarer_url_objets($flux)
示例13: ajouter_session
/**
* Ajoute une session pour l'auteur décrit par un tableau issu d'un SELECT-SQL
*
* @param array $auteur
* Description de la session de l'auteur. Peut contenir (par exemple)
* les clés : id_auteur, nom, login, email, statut, lang, ...
* @return bool|string
*/
function ajouter_session($auteur)
{
// Si le client a deja une session valide pour son id_auteur
// on conserve le meme fichier
// Attention un visiteur peut avoir une session et un id=0,
// => ne pas melanger les sessions des differents visiteurs
$id_auteur = isset($auteur['id_auteur']) ? intval($auteur['id_auteur']) : 0;
// Si ce n'est pas un inscrit (les inscrits ont toujours des choses en session)
// on va vérifier s'il y a vraiment des choses à écrire
if (!$id_auteur) {
// On supprime les données de base pour voir le contenu réel de la session
$auteur_verif = $auteur;
if (isset($auteur_verif['id_auteur'])) {
unset($auteur_verif['id_auteur']);
}
if (isset($auteur_verif['hash_env'])) {
unset($auteur_verif['hash_env']);
}
if (isset($auteur_verif['ip_change'])) {
unset($auteur_verif['ip_change']);
}
if (isset($auteur_verif['date_session'])) {
unset($auteur_verif['date_session']);
}
// Les variables vraiment nulle ne sont pas à prendre en compte non plus
foreach ($auteur_verif as $variable => $valeur) {
if ($valeur === null) {
unset($auteur_verif[$variable]);
}
}
// Si après ça la session est vide alors on supprime l'éventuel fichier et on arrête là
if (!$auteur_verif) {
if (isset($_COOKIE['spip_session']) and isset($_SESSION[$_COOKIE['spip_session']])) {
unset($_SESSION[$_COOKIE['spip_session']]);
}
if (isset($_COOKIE['spip_session'])) {
unset($_COOKIE['spip_session']);
}
return false;
}
}
if (!isset($_COOKIE['spip_session']) or !preg_match(',^' . $id_auteur . '_,', $_COOKIE['spip_session'])) {
$_COOKIE['spip_session'] = $id_auteur . '_' . md5(uniqid(rand(), true));
}
// Maintenant on sait qu'on a des choses à écrire
// On s'assure d'avoir au moins ces valeurs
$auteur['id_auteur'] = $id_auteur;
if (!isset($auteur['hash_env'])) {
$auteur['hash_env'] = hash_env();
}
if (!isset($auteur['ip_change'])) {
$auteur['ip_change'] = false;
}
if (!isset($auteur['date_session'])) {
$auteur['date_session'] = time();
}
if (isset($auteur['prefs']) and is_string($auteur['prefs'])) {
$auteur['prefs'] = unserialize($auteur['prefs']);
}
// les sessions anonymes sont stockees dans $_SESSION
if (!$id_auteur) {
if (!isset($_SESSION[$_COOKIE['spip_session']])) {
session_start();
}
$_SESSION[$_COOKIE['spip_session']] = preparer_ecriture_session($auteur);
} else {
$fichier_session = fichier_session('alea_ephemere');
if (!ecrire_fichier_session($fichier_session, $auteur)) {
spip_log('Echec ecriture fichier session ' . $fichier_session, "session" . _LOG_HS);
include_spip('inc/minipres');
echo minipres();
exit;
}
}
// poser le cookie de session SPIP
include_spip('inc/cookie');
$duree = _RENOUVELLE_ALEA * (!isset($auteur['cookie']) ? 2 : (is_numeric($auteur['cookie']) ? $auteur['cookie'] : 20));
spip_setcookie('spip_session', $_COOKIE['spip_session'], time() + $duree);
spip_log("ajoute session {$fichier_session} cookie {$duree}", "session");
# on en profite pour purger les vieilles sessions anonymes abandonnees
# supprimer_sessions(0, true, false);
return $_COOKIE['spip_session'];
}
示例14: spip_initialisation_suite
/**
* Complements d'initialisation non critiques pouvant etre realises
* par les plugins
*
*/
function spip_initialisation_suite() {
static $too_late = 0;
if ($too_late++) return;
// taille mini des login
if (!defined('_LOGIN_TROP_COURT')) define('_LOGIN_TROP_COURT', 4);
// la taille maxi des logos (0 : pas de limite)
if (!defined('_LOGO_MAX_SIZE')) define('_LOGO_MAX_SIZE', 0); # poids en ko
if (!defined('_LOGO_MAX_WIDTH')) define('_LOGO_MAX_WIDTH', 0); # largeur en pixels
if (!defined('_LOGO_MAX_HEIGHT')) define('_LOGO_MAX_HEIGHT', 0); # hauteur en pixels
if (!defined('_DOC_MAX_SIZE')) define('_DOC_MAX_SIZE', 0); # poids en ko
if (!defined('_IMG_MAX_SIZE')) define('_IMG_MAX_SIZE', 0); # poids en ko
if (!defined('_IMG_MAX_WIDTH')) define('_IMG_MAX_WIDTH', 0); # largeur en pixels
if (!defined('_IMG_MAX_HEIGHT')) define('_IMG_MAX_HEIGHT', 0); # hauteur en pixels
if (!defined('_COPIE_LOCALE_MAX_SIZE')) define('_COPIE_LOCALE_MAX_SIZE',16777216); // poids en octet
// qq chaines standard
if (!defined('_ACCESS_FILE_NAME')) define('_ACCESS_FILE_NAME', '.htaccess');
if (!defined('_AUTH_USER_FILE')) define('_AUTH_USER_FILE', '.htpasswd');
if (!defined('_SPIP_DUMP')) define('_SPIP_DUMP', 'dump@nom_site@@stamp@.xml');
if (!defined('_CACHE_RUBRIQUES')) define('_CACHE_RUBRIQUES', _DIR_TMP.'menu-rubriques-cache.txt');
if (!defined('_CACHE_RUBRIQUES_MAX')) define('_CACHE_RUBRIQUES_MAX', 500);
if (!defined('_EXTENSION_SQUELETTES')) define('_EXTENSION_SQUELETTES', 'html');
if (!defined('_DOCTYPE_ECRIRE')) define('_DOCTYPE_ECRIRE',
// "<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>\n");
//"<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>\n");
"<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>\n");
// "<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.1 //EN' 'http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd'>\n");
if (!defined('_DOCTYPE_AIDE')) define('_DOCTYPE_AIDE',
"<!DOCTYPE html PUBLIC '-//W3C//DTD HTML 4.01 Frameset//EN' 'http://www.w3.org/TR/1999/REC-html401-19991224/frameset.dtd'>");
// L'adresse de base du site ; on peut mettre '' si la racine est geree par
// le script de l'espace public, alias index.php
if (!defined('_SPIP_SCRIPT')) define('_SPIP_SCRIPT', 'spip.php');
// argument page, personalisable en cas de conflit avec un autre script
if (!defined('_SPIP_PAGE')) define('_SPIP_PAGE', 'page');
// le script de l'espace prive
// Mettre a "index.php" si DirectoryIndex ne le fait pas ou pb connexes:
// les anciens IIS n'acceptent pas les POST sur ecrire/ (#419)
// meme pb sur thttpd cf. http://forum.spip.org/fr_184153.html
if (!defined('_SPIP_ECRIRE_SCRIPT')) define('_SPIP_ECRIRE_SCRIPT', // true ? #decommenter ici et commenter la
preg_match(',IIS|thttpd,',$_SERVER['SERVER_SOFTWARE']) ?
'index.php' : '');
// Gestion AJAX sauf pour le mode oo (et en espace prive)
if (isset($GLOBALS['visiteur_session']['prefs'])AND !_DIR_RESTREINT) {
$x = $GLOBALS['visiteur_session']['prefs'];
if (!is_array($x)) $x = unserialize($x); // prive.php l'a fait
if ($x['display'] == 4) {
define('_SPIP_AJAX', -1);
if (isset($_COOKIE['spip_accepte_ajax']))
spip_setcookie('spip_accepte_ajax', -1, 0);
}
}
if (!defined('_SPIP_AJAX'))
define('_SPIP_AJAX', ((!isset($_COOKIE['spip_accepte_ajax']))
? 1
: (($_COOKIE['spip_accepte_ajax'] != -1) ? 1 : 0)));
// La requete est-elle en ajax ?
define('_AJAX',
(isset($_SERVER['HTTP_X_REQUESTED_WITH']) # ajax jQuery
OR @$_REQUEST['var_ajax_redir'] # redirection 302 apres ajax jQuery
OR @$_REQUEST['var_ajaxcharset'] # compat ascendante pour plugins
)
AND !@$_REQUEST['var_noajax'] # horrible exception, car c'est pas parce que la requete est ajax jquery qu'il faut tuer tous les formulaires ajax qu'elle contient
);
# nombre de pixels maxi pour calcul de la vignette avec gd
# au dela de 5500000 on considere que php n'est pas limite en memoire pour cette operation
# les configurations limitees en memoire ont un seuil plutot vers 1MPixel
if (!defined('_IMG_GD_MAX_PIXELS')) define('_IMG_GD_MAX_PIXELS', (isset($GLOBALS['meta']['max_taille_vignettes'])&&$GLOBALS['meta']['max_taille_vignettes']<5500000)?$GLOBALS['meta']['max_taille_vignettes']:0);
if (!defined('_IMG_GD_QUALITE')) define('_IMG_GD_QUALITE', 85);
if (!defined('_MEMORY_LIMIT_MIN')) define('_MEMORY_LIMIT_MIN', 16);
// si on est dans l'espace prive et si le besoin est superieur a 8Mo (qui est vraiment le standard)
// on verifie que la memoire est suffisante pour le compactage css+js pour eviter la page blanche
// il y aura d'autres problemes et l'utilisateur n'ira pas tres loin, mais ce sera plus comprehensible qu'une page blanche
if (test_espace_prive() AND _MEMORY_LIMIT_MIN>8){
if ($memory = trim(ini_get('memory_limit'))){
$unit = strtolower(substr($memory,strlen($memory/1),1));
switch($unit) {
// Le modifieur 'G' est disponible depuis PHP 5.1.0
case 'g': $memory *= 1024;
//.........这里部分代码省略.........
示例15: fich_debug
fich_debug("DBG >> $cookie_session\n");
// On poste le cookie de session
spip_setcookie('spip_session', $cookie_session);
// On loge l'authentification
spip_log("login de $login depuis LCS");
}
} elseif ( $action=="logout" ) {
close_session($idpers);
@define('_DIR_RESTREINT_ABS', 'ecrire/');
include_once _DIR_RESTREINT_ABS.'inc_version.php';
include_spip('inc/cookie');
include_once _DIR_RESTREINT_ABS.'auth/ldap.php';
include_spip('inc/session');
$result = spip_query("SELECT id_auteur FROM spip_auteurs WHERE login='$login' AND source='ldap'");
$row_auteur = spip_fetch_array($result);
### DBG
fich_debug("DBG >> id auteur : ".$row_auteur['id_auteur']."\n");
supprimer_sessions($row_auteur['id_auteur']);
spip_setcookie('spip_session', '', 0);
} else fich_debug("DBG >> No login No logout\n");
#On redirige vesr la page d'accueil dans tous les cas
echo "<script language=\"JavaScript\" type=\"text/javascript\">\n";
echo "<!--\n";
echo "top.location.href = '../lcs/index.php?url_redirect=accueil.php';\n";
echo "//-->\n";
echo "</script>\n";
?>