当前位置: 首页>>代码示例>>PHP>>正文


PHP spip_setcookie函数代码示例

本文整理汇总了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);
}
开发者ID:nursit,项目名称:SPIP,代码行数:31,代码来源:configurer_preferences.php

示例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);
            }
        }
    }
}
开发者ID:jazzman346,项目名称:CAC_Site,代码行数:33,代码来源:zengarden_activer_theme.php

示例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'));
}
开发者ID:rhertzog,项目名称:lcs,代码行数:43,代码来源:logout.php

示例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'));
}
开发者ID:nursit,项目名称:SPIP,代码行数:29,代码来源:logout.php

示例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);
		}
	}
}
开发者ID:rhertzog,项目名称:lcs,代码行数:11,代码来源:converser.php

示例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;
	}
}
开发者ID:rhertzog,项目名称:lcs,代码行数:16,代码来源:cookie.php

示例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'));
}
开发者ID:JLuc,项目名称:SPIP,代码行数:53,代码来源:logout.php

示例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;
        }
    }
}
开发者ID:genma,项目名称:spip_ynh,代码行数:42,代码来源:preferer.php

示例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 ? '&amp;' : '?').'var_langue_preferee_efface_cookie=oui';
			$lien = '<a href="'.$url.'">'.$texte.'</a>';
		}
	}
	return $lien;
}
开发者ID:samszo,项目名称:open-edition,代码行数:20,代码来源:langue_preferee_lien_efface_cookie.php

示例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();
}
开发者ID:horaciogd,项目名称:CGeomap,代码行数:38,代码来源:login.php

示例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;
	}
}
开发者ID:samszo,项目名称:open-edition,代码行数:83,代码来源:langue_preferee_secteur_redirection.php

示例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)
开发者ID:RadioCanut,项目名称:site-radiocanut,代码行数:31,代码来源:zcore_pipelines.php

示例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'];
}
开发者ID:JLuc,项目名称:SPIP,代码行数:91,代码来源:session.php

示例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;
//.........这里部分代码省略.........
开发者ID:rhertzog,项目名称:lcs,代码行数:101,代码来源:utils.php

示例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";
?>
开发者ID:rhertzog,项目名称:lcs,代码行数:30,代码来源:spip_session_lcs.php


注:本文中的spip_setcookie函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。