Exemplo n.º 1
0
function formulaires_login_traiter_dist($cible = "", $login = "", $prive = null)
{
    $res = array();
    // Si on se connecte dans l'espace prive,
    // ajouter "bonjour" (repere a peu pres les cookies desactives)
    if (is_null($prive) ? is_url_prive($cible) : $prive) {
        $cible = parametre_url($cible, 'bonjour', 'oui', '&');
    }
    if ($cible == '@page_auteur') {
        $cible = generer_url_entite($GLOBALS['auteur_session']['id_auteur'], 'auteur');
    }
    if ($cible) {
        $cible = parametre_url($cible, 'var_login', '', '&');
        // transformer la cible absolue en cible relative
        // pour pas echouer quand la meta adresse_site est foireuse
        if (strncmp($cible, $u = url_de_base(), strlen($u)) == 0) {
            $cible = "./" . substr($cible, strlen($u));
        } elseif (tester_url_absolue($cible) and !defined('_AUTORISER_LOGIN_ABS_REDIRECT')) {
            $cible = "";
        }
    }
    // Si on est connecte, envoyer vers la destination
    if ($cible and $cible != self()) {
        if (!headers_sent() and !$_GET['var_mode']) {
            include_spip('inc/headers');
            $res['redirect'] = $cible;
        } else {
            $res['message_ok'] = inserer_attribut("<a>" . _T('login_par_ici') . "</a>", 'href', $cible);
        }
    }
    return $res;
}
Exemplo n.º 2
0
function formulaires_login_traiter_dist($cible="",$login="",$prive=null){
	$res = array();
	// Si on se connecte dans l'espace prive, 
	// ajouter "bonjour" (repere a peu pres les cookies desactives)
	if (is_null($prive) ? is_url_prive($cible) : $prive) {
		$cible = parametre_url($cible, 'bonjour', 'oui', '&');
	}
	if ($cible=='@page_auteur')
		$cible = generer_url_entite($GLOBALS['auteur_session']['id_auteur'],'auteur');

	if ($cible) {
		$cible = parametre_url($cible, 'var_login', '', '&');

		// transformer la cible absolue en cible relative
		// pour pas echouer quand la meta adresse_site est foireuse
		if (strncmp($cible,$u = url_de_base(),strlen($u))==0){
			$cible = "./".substr($cible,strlen($u));
		}

		// si c'est une url absolue, refuser la redirection
		// sauf si cette securite est levee volontairement par le webmestre
		elseif (tester_url_absolue($cible) AND !defined('_AUTORISER_LOGIN_ABS_REDIRECT')) {
			$cible = "";
		}
	}


	// Si on est admin, poser le cookie de correspondance
	if ($GLOBALS['auteur_session']['statut'] == '0minirezo') {
		include_spip('inc/cookie');
		spip_setcookie('spip_admin', '@'.$GLOBALS['auteur_session']['login'],
		time() + 7 * 24 * 3600);
	}

	// Si on est connecte, envoyer vers la destination
	if ($cible AND ($cible!=self())) {
		if (!headers_sent() AND !$_GET['var_mode']) {
			include_spip('inc/headers');
			$res['redirect'] = $cible;
		} else {
			$res['message_ok'] .= inserer_attribut(
				"<a>" . _T('login_par_ici') . "</a>",
				'href', $cible
			);
		}
	}
	return $res;
}