From 9cb85e8d16c5a29a8ce8f726a6dc65a0923b3ede Mon Sep 17 00:00:00 2001
From: ARNO* <arno@rezo.net>
Date: Thu, 25 Aug 2005 19:58:56 +0000
Subject: [PATCH] =?UTF-8?q?Utilisation=20des=20classements=20=C2=ABmulti?=
 =?UTF-8?q?=C2=BB=20sur=20les=20listes=20d'auteurs=20et=20de=20mots-cle?=
 =?UTF-8?q?=CC=81s?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 ecrire/auteurs.php3          | 10 ++++++----
 ecrire/inc_db_mysql.php3     |  4 ++--
 ecrire/inc_mots.php3         |  4 ++--
 ecrire/inc_presentation.php3 |  2 +-
 ecrire/mots_tous.php3        |  4 ++--
 5 files changed, 13 insertions(+), 11 deletions(-)

diff --git a/ecrire/auteurs.php3 b/ecrire/auteurs.php3
index e2d28ef0fa..69a022de49 100644
--- a/ecrire/auteurs.php3
+++ b/ecrire/auteurs.php3
@@ -102,8 +102,10 @@ case 'statut':
 
 case 'nom':
 default:
-	$sql_order = ' ORDER BY unom';
+//	$sql_order = ' ORDER BY unom';
 	$type_requete = 'auteur';
+	$sql_sel = ", ".creer_objet_multi ("nom", "$spip_lang");
+	$sql_order = " ORDER BY multi";
 }
 
 
@@ -117,7 +119,7 @@ unset($nombre_auteurs);
 $auteurs = Array();
 
 if ($type_requete == 'auteur') {
-	$result_auteurs = spip_query("SELECT id_auteur, statut, login, nom, email, url_site, messagerie, UPPER(nom) AS unom
+	$result_auteurs = spip_query("SELECT id_auteur, statut, login, nom, email, url_site, messagerie, UPPER(nom) AS unom$sql_sel
 		FROM spip_auteurs AS auteurs
 		WHERE 1 $sql_statut_auteurs
 		$sql_order");
@@ -126,7 +128,7 @@ if ($type_requete == 'auteur') {
 		$nombre_auteurs ++;
 	}
 
-	$result_nombres = spip_query("SELECT auteurs.id_auteur, UPPER(auteurs.nom) AS unom, COUNT(articles.id_article) AS compteur
+	$result_nombres = spip_query("SELECT auteurs.id_auteur, UPPER(auteurs.nom) AS unom, COUNT(articles.id_article) AS compteur, ".creer_objet_multi ("UPPER(auteurs.nom)", "$spip_lang")." 
 		FROM spip_auteurs AS auteurs, spip_auteurs_articles AS lien, spip_articles AS articles
 		WHERE auteurs.id_auteur=lien.id_auteur AND lien.id_article=articles.id_article
 		$sql_statut_auteurs $sql_statut_articles
@@ -153,7 +155,7 @@ if ($type_requete == 'auteur') {
 	$lettres_nombre_auteurs = 0;
 	foreach ($auteurs as $auteur) {
 		$lettres_nombre_auteurs ++;
-		$premiere_lettre = addslashes(strtoupper(spip_substr($auteur['nom'],0,1)));
+		$premiere_lettre = addslashes(strtoupper(spip_substr($auteur['multi'],0,1)));
 		if ($premiere_lettre != $lettre_prec) {
 			$lettre[$premiere_lettre] = $lettres_nombre_auteurs-1;
 		}
diff --git a/ecrire/inc_db_mysql.php3 b/ecrire/inc_db_mysql.php3
index da77d5d9c4..e6ef7a676e 100644
--- a/ecrire/inc_db_mysql.php3
+++ b/ecrire/inc_db_mysql.php3
@@ -258,7 +258,7 @@ function calcul_mysql_in($val, $valeurs, $not='') {
 
 
 function creer_objet_multi ($objet, $lang) {
-	$retour = "(IF(INSTR(".$objet.", '<multi>') = 0 , ".
+	$retour = "(TRIM(IF(INSTR(".$objet.", '<multi>') = 0 , ".
 		"     TRIM(".$objet."), ".
 		"     CONCAT( ".
 		"          LEFT(".$objet.", INSTR(".$objet.", '<multi>')-1), ".
@@ -277,7 +277,7 @@ function creer_objet_multi ($objet, $lang) {
 		"               TRIM(RIGHT(".$objet.", ( LENGTH(".$objet.") - (INSTR(".$objet.", '[".$lang."]')+ LENGTH('[".$lang."]')-1) ) )) ".
 		"          ) ".
 		"     ) ".
-		")) AS multi ";
+		"))) AS multi ";
 
 	return $retour;
 }
diff --git a/ecrire/inc_mots.php3 b/ecrire/inc_mots.php3
index 16df7efd7d..fb0286a310 100644
--- a/ecrire/inc_mots.php3
+++ b/ecrire/inc_mots.php3
@@ -428,10 +428,10 @@ if (triangle) triangle.src = '" . _DIR_IMG_PACK . "deplierbas$spip_lang_rtl.gif'
 
 		echo "<table border='0' width='100%' style='text-align: $spip_lang_right'>";
 
-		$query_groupes = "SELECT * FROM spip_groupes_mots WHERE $table = 'oui'
+		$query_groupes = "SELECT *, ".creer_objet_multi ("titre", "$spip_lang")." FROM spip_groupes_mots WHERE $table = 'oui'
 		AND ".substr($connect_statut,1)." = 'oui' AND (unseul != 'oui'  OR
 		(unseul = 'oui' AND id_groupe NOT IN ($id_groupes_vus)))
-		ORDER BY titre";
+		ORDER BY multi";
 		$result_groupes = spip_query($query_groupes);
 
 		// Afficher un menu par groupe de mots
diff --git a/ecrire/inc_presentation.php3 b/ecrire/inc_presentation.php3
index 1eccab4887..5b2f0b7018 100644
--- a/ecrire/inc_presentation.php3
+++ b/ecrire/inc_presentation.php3
@@ -860,7 +860,7 @@ function afficher_articles($titre_table, $requete, $afficher_visites = false, $a
 
 		if ($options == "avancees") { // Afficher le numero (JMB)
 			if ($afficher_auteurs) {
-				$largeurs = array(11, '', 80, 100, 35);
+				$largeurs = array(11, '', 80, 100, 50);
 				$styles = array('', 'arial2', 'arial1', 'arial1', 'arial1');
 			} else {
 				$largeurs = array(11, '', 100, 35);
diff --git a/ecrire/mots_tous.php3 b/ecrire/mots_tous.php3
index 0bda40be25..6c03b57ac6 100644
--- a/ecrire/mots_tous.php3
+++ b/ecrire/mots_tous.php3
@@ -303,7 +303,7 @@ while ($row_groupes = spip_fetch_array($result_groupes)) {
 
 
 				if ($connect_statut=="0minirezo") {
-					$vals[] = "<a href='mots_tous.php3?conf_mot=$id_mot'>"._T('info_supprimer_mot')."&nbsp;<img src='" . _DIR_IMG_PACK . "croix-rouge.gif' alt='X' width='7' height='7' border='0' align='middle'></a>";
+					$vals[] = "<a href='mots_tous.php3?conf_mot=$id_mot'>"._T('info_supprimer_mot')."&nbsp;<img src='" . _DIR_IMG_PACK . "croix-rouge.gif' alt='X' width='7' height='7' border='0' align='bottom' /></a>";
 				} 
 
 				$table[] = $vals;
@@ -313,7 +313,7 @@ while ($row_groupes = spip_fetch_array($result_groupes)) {
 				
 		}
 		if ($connect_statut=="0minirezo") {
-			$largeurs = array('', 100, 100);
+			$largeurs = array('', 100, 130);
 			$styles = array('arial11', 'arial1', 'arial1');
 		}
 		else {
-- 
GitLab