ffeabc5348c2d2fd0ab2ffe825f9def33d8d46c4
[ptitvelo/web/www.git] / www / prive / informer_auteur_fonctions.php
1 <?php
2
3 /***************************************************************************\
4 * SPIP, Systeme de publication pour l'internet *
5 * *
6 * Copyright (c) 2001-2012 *
7 * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
8 * *
9 * Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
10 * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
11 \***************************************************************************/
12
13 if (!defined('_ECRIRE_INC_VERSION')) return;
14
15 // Filtre ad hoc pour le formulaire de login:
16 // le parametre var_login n'est pas dans le contexte pour optimiser le cache
17 // il faut aller le chercher a la main
18 function informer_auteur($bof)
19 {
20 include_spip('inc/json');
21 include_spip('formulaires/login');
22 include_spip('inc/auth');
23 $login = strval(_request('var_login'));
24 $row = auth_informer_login($login);
25 if ($row AND is_array($row))
26 unset($row['id_auteur']);
27 else {
28 // permettre d'autoriser l'envoi de password non crypte lorsque
29 // l'auteur n'est pas (encore) declare dans SPIP, par exemple pour les cas
30 // de premiere authentification via SPIP a une autre application.
31 if (defined('_AUTORISER_AUTH_FAIBLE') and _AUTORISER_AUTH_FAIBLE) {
32 $row = array();
33 }
34 // piocher les infos sur un autre login
35 elseif ($n = sql_countsel('spip_auteurs',"login<>''")){
36 $n = (abs(crc32($login))%$n);
37 $row = auth_informer_login(sql_getfetsel('login','spip_auteurs',"login<>''",'','',"$n,1"));
38 if ($row AND is_array($row)){
39 unset($row['id_auteur']);
40 $row['login'] = $login;
41 }
42 }
43 else $row = array();
44 }
45
46 return json_export($row);
47 }
48
49 ?>