From a361fdbd77a8bcaa179cc7adc93877b1e90f0ec5 Mon Sep 17 00:00:00 2001 From: Mikael Nordfeldth Date: Thu, 18 Feb 2016 00:05:09 +0100 Subject: [PATCH] Sort ToSelector by AcctUri --- lib/toselector.php | 25 ++++++++++++++++--------- theme/base/css/display.css | 4 ++++ 2 files changed, 20 insertions(+), 9 deletions(-) diff --git a/lib/toselector.php b/lib/toselector.php index 85747b70e9..f29451ad93 100644 --- a/lib/toselector.php +++ b/lib/toselector.php @@ -94,30 +94,37 @@ class ToSelector extends Widget $groups = $this->user->getGroups(); while ($groups instanceof User_group && $groups->fetch()) { - $value = 'group:'.$groups->id; + $value = 'group:'.$groups->getID(); if (($this->to instanceof User_group) && $this->to->id == $groups->id) { $default = $value; } - $choices[$value] = $groups->getBestName(); + $choices[$value] = "!{$groups->getNickname()} [{$groups->getBestName()}]"; } // Add subscribed users to dropdown menu $users = $this->user->getSubscribed(); while ($users->fetch()) { - $value = 'profile:'.$users->id; - if ($this->user->streamNicknames()) { - $choices[$value] = $users->getNickname(); - } else { - $choices[$value] = $users->getBestName(); + $value = 'profile:'.$users->getID(); + try { + $choices[$value] = substr($users->getAcctUri(), 5) . " [{$users->getBestName()}]"; + } catch (ProfileNoAcctUriException $e) { + $choices[$value] = "[?@?] " . $e->getBestName(); } } if ($this->to instanceof Profile) { - $value = 'profile:'.$this->to->id; + $value = 'profile:'.$this->to->getID(); $default = $value; - $choices[$value] = $this->to->getBestName(); + try { + $choices[$value] = substr($this->to->getAcctUri(), 5) . " [{$this->to->getBestName()}]"; + } catch (ProfileNoAcctUriException $e) { + $choices[$value] = "[?@?] " . $e->getBestName(); + } } + // alphabetical order + asort($choices); + $this->out->dropdown($this->id, // TRANS: Label for drop-down of potential addressees. _m('LABEL','To:'), diff --git a/theme/base/css/display.css b/theme/base/css/display.css index 61696e6f11..295916d78e 100644 --- a/theme/base/css/display.css +++ b/theme/base/css/display.css @@ -503,6 +503,10 @@ address .poweredby { z-index: 99; } +.form_notice .to-selector > select { + max-width: 300px; +} + .form_settings label[for=notice_to] { left: 5px; margin-left: 0px; -- 2.39.5