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; }
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; }