function export_all_abort() { // evacuer la fausse erreur du cas du validateur en boucle. if (_request('exec') == 'valider_xml') return; include_spip('base/import_all'); import_all_fin(array()); include_spip('inc/import'); detruit_restaurateur(); effacer_meta('admin'); // et verifier la session include_spip('inc/auth'); $login = auth_retrouver_login($GLOBALS['visiteur_session']['login']); $id_auteur = sql_getfetsel('id_auteur', 'spip_auteurs', 'login='******'visiteur_session']['id_auteur'] != $id_auteur) auth_deloger(); else redirige_url_ecrire(); }
/** * informer sur un login * Ce dernier transmet le tableau ci-dessous a la fonction JS informer_auteur * Il est invoque par la fonction JS actualise_auteur via la globale JS * page_auteur=#URL_PAGE{informer_auteur} dans le squelette login * N'y aurait-il pas plus simple ? * * @param string $login * @param string $serveur * @return array */ function auth_informer_login($login, $serveur = '') { if (!$login or !($login = auth_retrouver_login($login, $serveur)) or !($row = sql_fetsel('*', 'spip_auteurs', 'login='******'text'), '', '', '', '', $serveur))) { return array(); } $prefs = unserialize($row['prefs']); $infos = array('id_auteur' => $row['id_auteur'], 'login' => $row['login'], 'cnx' => $prefs['cnx'] == 'perma' ? '1' : '0', 'logo' => recuperer_fond('formulaires/inc-logo_auteur', $row)); // desactiver le hash md5 si pas auteur spip ? if ($row['source'] !== 'spip') { $row['alea_actuel'] = ''; $row['alea_futur'] = ''; } verifier_visiteur(); return auth_administrer('informer_login', array($row['source'], $infos, $row, $serveur), $infos); }
/** * Vérifier si l'auteur est bien authentifié * * @param string $login * @param string $pw * @param string $serveur * @return array|bool */ function lire_php_auth($login, $pw, $serveur = '') { if (!$login or !($login = auth_retrouver_login($login, $serveur))) { return false; } $row = sql_fetsel('*', 'spip_auteurs', 'login='******'text'), '', '', '', '', $serveur); if (!$row) { if (spip_connect_ldap($serveur) and $auth_ldap = charger_fonction('ldap', 'auth', true)) { return $auth_ldap($login, $pw, $serveur, true); } return false; } // su pas de source definie // ou auth/xxx introuvable, utiliser 'spip' if (!($auth_methode = $row['source']) or !($auth = charger_fonction($auth_methode, 'auth', true))) { $auth = charger_fonction('spip', 'auth', true); } $auteur = ''; if ($auth) { $auteur = $auth($login, $pw, $serveur, true); } // verifier que ce n'est pas un message d'erreur if (is_array($auteur) and count($auteur)) { return $auteur; } return false; }