From d1bf93c785644a8386a879eaf4ba7f573f7e2c4d Mon Sep 17 00:00:00 2001
From: Fil <fil@rezo.net>
Date: Sun, 2 Dec 2007 21:11:55 +0000
Subject: [PATCH] aleer devient informer_auteur, et le JSON a droit a son
 fichier

---
 .gitattributes                    |  3 +-
 dist/formulaires/login.html       |  2 +-
 ecrire/action/aleer.php           | 99 -------------------------------
 ecrire/action/informer_auteur.php | 44 ++++++++++++++
 ecrire/inc/json.php               | 77 ++++++++++++++++++++++++
 5 files changed, 124 insertions(+), 101 deletions(-)
 delete mode 100644 ecrire/action/aleer.php
 create mode 100644 ecrire/action/informer_auteur.php
 create mode 100644 ecrire/inc/json.php

diff --git a/.gitattributes b/.gitattributes
index 74e98efd0b..47ba3aac3d 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -378,7 +378,6 @@ dist/vignettes/zip.png -text
 dist/win_width.htc -text
 ecrire/action/acceder_document.php -text
 ecrire/action/activer_plugins.php -text
-ecrire/action/aleer.php -text
 ecrire/action/charger_plugin.php -text
 ecrire/action/configurer.php -text
 ecrire/action/configurer_notifications_forum.php -text
@@ -402,6 +401,7 @@ ecrire/action/export_all.php -text
 ecrire/action/ical.php -text
 ecrire/action/iconifier.php -text
 ecrire/action/index.php -text
+ecrire/action/informer_auteur.php -text
 ecrire/action/instituer_article.php -text
 ecrire/action/instituer_breve.php -text
 ecrire/action/instituer_collaboration.php -text
@@ -625,6 +625,7 @@ ecrire/inc/instituer_auteur.php -text
 ecrire/inc/instituer_breve.php -text
 ecrire/inc/instituer_site.php -text
 ecrire/inc/joindre.php -text
+ecrire/inc/json.php -text
 ecrire/inc/lang_liste.php -text
 ecrire/inc/legender.php -text
 ecrire/inc/lien.php -text
diff --git a/dist/formulaires/login.html b/dist/formulaires/login.html
index 3fb961a64a..9bfab0994a 100644
--- a/dist/formulaires/login.html
+++ b/dist/formulaires/login.html
@@ -94,7 +94,7 @@ var alea_actuel;
 var alea_futur;
 $('#pass_ajax').show().after('<input type="hidden" name="session_login_hidden" id="session_login_hidden" value="" />');
 $('#var_login').blur(function(){
-	$.get('#URL_ACTION{aleer}',
+	$.get('#URL_ACTION{informer_auteur}',
 		{var_login:$(this).attr('value')},
 		function (c) {
 			eval('c = '+c); // JSON
diff --git a/ecrire/action/aleer.php b/ecrire/action/aleer.php
deleted file mode 100644
index c84e917dd3..0000000000
--- a/ecrire/action/aleer.php
+++ /dev/null
@@ -1,99 +0,0 @@
-<?php
-
-/***************************************************************************\
- *  SPIP, Systeme de publication pour l'internet                           *
- *                                                                         *
- *  Copyright (c) 2001-2007                                                *
- *  Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James  *
- *                                                                         *
- *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
- *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
-\***************************************************************************/
-
-if (!defined("_ECRIRE_INC_VERSION")) return;
-
-/**
-    * Transform a variable into its javascript equivalent (recursive)
-    * @access private
-    * @param mixed the variable
-    * @return string js script | boolean false if error
-    */
-function var2js($var) {
-    $asso = false;
-    switch (true) {
-        case is_null($var) :
-            return 'null';
-        case is_string($var) :
-            return '"' . str_replace('&', '\x26', addcslashes($var, "\"\\\n\r")) . '"';
-        case is_bool($var) :
-            return $var ? 'true' : 'false';
-        case is_scalar($var) :
-            return $var;
-        case is_object( $var) :
-            $var = get_object_vars($var);
-            $asso = true;
-        case is_array($var) :
-            $keys = array_keys($var);
-            $ikey = count($keys);
-            while (!$asso && $ikey--) {
-                $asso = $ikey !== $keys[$ikey];
-            }
-            $sep = '';
-            if ($asso) {
-                $ret = '{';
-                foreach ($var as $key => $elt) {
-                    $ret .= $sep . '"' . $key . '":' . var2js($elt);
-                    $sep = ',';
-                }
-                return $ret ."}\n";
-            } else {
-                $ret = '[';
-                foreach ($var as $elt) {
-                    $ret .= $sep . var2js($elt);
-                    $sep = ',';
-                }
-                return $ret ."]\n";
-            }
-    }
-    return false;
-}
-
-function json_export($var) {
-	$var = var2js($var);
-
-	// flag indiquant qu'on est en iframe et qu'il faut proteger nos
-	// donnees dans un <textarea> ; attention $_FILES a ete vide par array_pop
-	if (defined('FILE_UPLOAD'))
-		return "<textarea>".htmlspecialchars($var)."</textarea>";
-	else
-		return $var;
-}
-
-include_spip('base/abstract_sql');
-// http://doc.spip.org/@action_configurer_dist
-function action_aleer_dist() {
-	$row = array();
-	if ($login=_request('var_login')) {
-		$row =  sql_fetsel('id_auteur,login,alea_actuel,alea_futur,prefs', 'spip_auteurs', "login=" . sql_quote($login));
-		// Retrouver ceux qui signent de leur nom ou email
-		if (!$row AND !spip_connect_ldap()) {
-			$row = sql_fetsel('id_auteur,login,alea_actuel,alea_futur,prefs', 'spip_auteurs', "(nom = " . sql_quote($login) . " OR email = " . sql_quote($login) . ") AND login<>'' AND statut<>'5poubelle'");
-		}
-		if ($row) {
-			$prefs = unserialize($row['prefs']);
-			$row['cnx'] = $prefs['cnx'] == 'perma' ? '1' : '0';
-			unset($row['prefs']);
-
-			if ($chercher_logo = charger_fonction('chercher_logo', 'inc')
-			AND list($logo) = $chercher_logo($row['id_auteur'], 'id_auteur', 'on')) {
-				include_spip('inc/filtres');
-				$row['logo'] = reduire_image($logo,100,80);
-			}
-		}
-		unset($row['id_auteur']);
-
-		echo json_export($row);
-	}
-}
-
-?>
\ No newline at end of file
diff --git a/ecrire/action/informer_auteur.php b/ecrire/action/informer_auteur.php
new file mode 100644
index 0000000000..b3ad351fff
--- /dev/null
+++ b/ecrire/action/informer_auteur.php
@@ -0,0 +1,44 @@
+<?php
+
+/***************************************************************************\
+ *  SPIP, Systeme de publication pour l'internet                           *
+ *                                                                         *
+ *  Copyright (c) 2001-2007                                                *
+ *  Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James  *
+ *                                                                         *
+ *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
+ *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
+\***************************************************************************/
+
+if (!defined("_ECRIRE_INC_VERSION")) return;
+
+// http://doc.spip.org/@action_informer_auteur_dist
+function action_informer_auteur_dist() {
+	include_spip('base/abstract_sql');
+	include_spip('inc/json');
+
+	$row = array();
+	if ($login=_request('var_login')) {
+		$row =  sql_fetsel('id_auteur,login,alea_actuel,alea_futur,prefs', 'spip_auteurs', "login=" . sql_quote($login));
+		// Retrouver ceux qui signent de leur nom ou email
+		if (!$row AND !spip_connect_ldap()) {
+			$row = sql_fetsel('id_auteur,login,alea_actuel,alea_futur,prefs', 'spip_auteurs', "(nom = " . sql_quote($login) . " OR email = " . sql_quote($login) . ") AND login<>'' AND statut<>'5poubelle'");
+		}
+		if ($row) {
+			$prefs = unserialize($row['prefs']);
+			$row['cnx'] = $prefs['cnx'] == 'perma' ? '1' : '0';
+			unset($row['prefs']);
+
+			if ($chercher_logo = charger_fonction('chercher_logo', 'inc')
+			AND list($logo) = $chercher_logo($row['id_auteur'], 'id_auteur', 'on')) {
+				include_spip('inc/filtres');
+				$row['logo'] = reduire_image($logo,100,80);
+			}
+		}
+		unset($row['id_auteur']);
+
+		echo json_export($row);
+	}
+}
+
+?>
\ No newline at end of file
diff --git a/ecrire/inc/json.php b/ecrire/inc/json.php
new file mode 100644
index 0000000000..6218a8f50e
--- /dev/null
+++ b/ecrire/inc/json.php
@@ -0,0 +1,77 @@
+<?php
+
+/***************************************************************************\
+ *  SPIP, Systeme de publication pour l'internet                           *
+ *                                                                         *
+ *  Copyright (c) 2001-2007                                                *
+ *  Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James  *
+ *                                                                         *
+ *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
+ *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
+\***************************************************************************/
+
+if (!defined("_ECRIRE_INC_VERSION")) return;
+
+// Les fonctions de toggg pour faire du JSON
+
+/**
+ * Transform a variable into its javascript equivalent (recursive)
+ * @access private
+ * @param mixed the variable
+ * @return string js script | boolean false if error
+ */
+
+function var2js($var) {
+	$asso = false;
+	switch (true) {
+		case is_null($var) :
+			return 'null';
+		case is_string($var) :
+			return '"' . str_replace('&', '\x26', addcslashes($var, "\"\\\n\r")) . '"';
+		case is_bool($var) :
+			return $var ? 'true' : 'false';
+		case is_scalar($var) :
+			return $var;
+		case is_object( $var) :
+			$var = get_object_vars($var);
+			$asso = true;
+		case is_array($var) :
+			$keys = array_keys($var);
+			$ikey = count($keys);
+			while (!$asso && $ikey--) {
+				$asso = $ikey !== $keys[$ikey];
+			}
+			$sep = '';
+			if ($asso) {
+				$ret = '{';
+				foreach ($var as $key => $elt) {
+					$ret .= $sep . '"' . $key . '":' . var2js($elt);
+					$sep = ',';
+				}
+				return $ret ."}\n";
+			} else {
+				$ret = '[';
+				foreach ($var as $elt) {
+					$ret .= $sep . var2js($elt);
+					$sep = ',';
+				}
+				return $ret ."]\n";
+			}
+	}
+	return false;
+}
+
+function json_export($var) {
+	$var = var2js($var);
+
+	// flag indiquant qu'on est en iframe et qu'il faut proteger nos
+	// donnees dans un <textarea> ; attention $_FILES a ete vide par array_pop
+	if (defined('FILE_UPLOAD'))
+		return "<textarea>".htmlspecialchars($var)."</textarea>";
+	else
+		return $var;
+}
+
+
+
+?>
-- 
GitLab