From 09f9ebea09dfc4283294a41d363843fa7ceefb59 Mon Sep 17 00:00:00 2001 From: =?utf8?q?St=C3=A9phane=20Jacob?= Date: Sun, 12 Apr 2009 15:12:03 +0200 Subject: [PATCH] Fixes name edition: only notifies a name modification if it is actually modified. --- htdocs/javascript/profile.js | 9 +++++++++ modules/profile/general.inc.php | 14 +++++++++----- templates/profile/general.searchname.tpl | 9 ++++----- 3 files changed, 22 insertions(+), 10 deletions(-) diff --git a/htdocs/javascript/profile.js b/htdocs/javascript/profile.js index add62f8..a85063b 100644 --- a/htdocs/javascript/profile.js +++ b/htdocs/javascript/profile.js @@ -120,6 +120,15 @@ function updateNameDisplay() }); } +function toggleParticle(id) +{ + if ($('#search_name_' + id).find("[name*='[particle]']").val() == '') { + $('#search_name_' + id).find("[name*='[particle]']").val(1); + } else { + $('#search_name_' + id).find("[name*='[particle]']").val(''); + } +} + // Nationalities {{{1 function delNationality(i) diff --git a/modules/profile/general.inc.php b/modules/profile/general.inc.php index 51a5979..708c2dc 100644 --- a/modules/profile/general.inc.php +++ b/modules/profile/general.inc.php @@ -56,6 +56,7 @@ class ProfileSearchNames implements ProfileSetting { $success = true; $success_tmp = true; + if (is_null($value)) { $sn_all = XDB::iterator("SELECT CONCAT(sn.particle, sn.name) AS name, sn.particle, sn.typeid, e.type, e.name AS type_name, @@ -82,12 +83,14 @@ class ProfileSearchNames implements ProfileSetting $value[] = $sn; $sn = $sn_all->next(); } else { - $value[] = array('typeid' => $sn_type['id'], - 'type' => $sn_type['type'], - 'type_name' => $sn_type['name'], - 'pub' => 1, + $value[] = array('name' => '', + 'particle' => '', + 'typeid' => $sn_type['id'], + 'type' => $sn_type['type'], + 'type_name' => $sn_type['name'], 'has_particle' => $sn_type['has_particle'], - 'always_displayed' => 1); + 'always_displayed' => 1, + 'pub' => 1); } } if ($sn) { @@ -159,6 +162,7 @@ class ProfileSearchNames implements ProfileSetting Platal::page()->assign('public_name', $public_name); Platal::page()->assign('private_name', $private_name); } + return $value; } diff --git a/templates/profile/general.searchname.tpl b/templates/profile/general.searchname.tpl index 89649b7..e7c2735 100644 --- a/templates/profile/general.searchname.tpl +++ b/templates/profile/general.searchname.tpl @@ -52,11 +52,10 @@ {if $sn.error} class="error"{/if} size="25" onkeyup="updateNameDisplay();"/> - {if $sn.has_particle} - {else} - {/if} + {if $sn.has_particle} + {/if} + {if !$sn.always_displayed} {icon name=cross title="Supprimer ce nom"} {/if} -- 2.1.4