function verifier_visiteur() { // Rq: pour que cette fonction marche depuis mes_options // il faut forcer l'init si ce n'est fait // mais on risque de perturber des plugins en initialisant trop tot // certaines constantes @spip_initialisation_core(_DIR_RACINE . _NOM_PERMANENTS_INACCESSIBLES, _DIR_RACINE . _NOM_PERMANENTS_ACCESSIBLES, _DIR_RACINE . _NOM_TEMPORAIRES_INACCESSIBLES, _DIR_RACINE . _NOM_TEMPORAIRES_ACCESSIBLES); // Demarrer une session NON AUTHENTIFIEE si on donne son nom // dans un formulaire sans login (ex: #FORMULAIRE_FORUM) // Attention on separe bien session_nom et nom, pour eviter // les melanges entre donnees SQL et variables plus aleatoires $variables_session = array('session_nom', 'session_email'); foreach ($variables_session as $var) { if (_request($var) !== null) { $init = true; break; } } if (isset($init)) { #@spip_initialisation_suite(); $session = charger_fonction('session', 'inc'); $session(); include_spip('inc/texte'); foreach ($variables_session as $var) { if (($a = _request($var)) !== null) { $GLOBALS['visiteur_session'][$var] = safehtml($a); } } if (!isset($GLOBALS['visiteur_session']['id_auteur'])) { $GLOBALS['visiteur_session']['id_auteur'] = 0; } $session($GLOBALS['visiteur_session']); return 0; } $h = (isset($_SERVER['PHP_AUTH_USER']) and !$GLOBALS['ignore_auth_http']); if ($h or isset($_COOKIE['spip_session']) or isset($_COOKIE[$GLOBALS['cookie_prefix'] . '_session'])) { $session = charger_fonction('session', 'inc'); if ($session()) { return $GLOBALS['visiteur_session']['statut']; } if ($h and isset($_SERVER['PHP_AUTH_PW'])) { include_spip('inc/auth'); $h = lire_php_auth($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']); } if ($h) { $GLOBALS['visiteur_session'] = $h; return $GLOBALS['visiteur_session']['statut']; } } // au moins son navigateur nous dit la langue preferee de cet inconnu include_spip('inc/lang'); utiliser_langue_visiteur(); return false; }
/** Compatibilite PHP 5.3 */ define('E_DEPRECATED', 8192); } if (!defined('SPIP_ERREUR_REPORT')) { /** Masquer les warning */ define('SPIP_ERREUR_REPORT', E_ALL ^ E_NOTICE ^ E_DEPRECATED); } error_reporting(SPIP_ERREUR_REPORT); // Initialisations critiques non surchargeables par les plugins // INITIALISER LES REPERTOIRES NON PARTAGEABLES ET LES CONSTANTES // (charge aussi inc/flock) // // mais l'inclusion precedente a peut-etre deja appele cette fonction // ou a defini certaines des constantes que cette fonction doit definir // ===> on execute en neutralisant les messages d'erreur spip_initialisation_core(_DIR_RACINE . _NOM_PERMANENTS_INACCESSIBLES, _DIR_RACINE . _NOM_PERMANENTS_ACCESSIBLES, _DIR_RACINE . _NOM_TEMPORAIRES_INACCESSIBLES, _DIR_RACINE . _NOM_TEMPORAIRES_ACCESSIBLES); // chargement des plugins : doit arriver en dernier // car dans les plugins on peut inclure inc-version // qui ne sera pas execute car _ECRIRE_INC_VERSION est defini // donc il faut avoir tout fini ici avant de charger les plugins if (@is_readable(_CACHE_PLUGINS_OPT) and @is_readable(_CACHE_PLUGINS_PATH)) { // chargement optimise precompile include_once _CACHE_PLUGINS_OPT; } else { spip_initialisation_suite(); include_spip('inc/plugin'); // generer les fichiers php precompiles // de chargement des plugins et des pipelines actualise_plugins_actifs(); } // Initialisations non critiques surchargeables par les plugins