Ejemplo n.º 1
0
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;
}
Ejemplo n.º 2
0
    /** 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