X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=lib%2Ftoselector.php;h=7a959ff8b518e9e48ba23d997fbc651a3294803f;hb=349e842078c5d69901df6ec9205cf7edcb4c4636;hp=85747b70e9724885ab89027ed3916e8d6edc7895;hpb=73dbc5ca1b203758693f73d6423fea71ef6b6fb6;p=quix0rs-gnu-social.git diff --git a/lib/toselector.php b/lib/toselector.php index 85747b70e9..7a959ff8b5 100644 --- a/lib/toselector.php +++ b/lib/toselector.php @@ -80,44 +80,59 @@ class ToSelector extends Widget function show() { $choices = array(); - $default = 'public:site'; - - if (!common_config('site', 'private')) { - // TRANS: Option in drop-down of potential addressees. - $choices['public:everyone'] = _m('SENDTO','Everyone'); - $default = 'public:everyone'; - } - // TRANS: Option in drop-down of potential addressees. - // TRANS: %s is a StatusNet sitename. - $choices['public:site'] = sprintf(_('Everyone at %s'), common_config('site', 'name')); + $default = common_config('site', 'private') ? 'public:site' : 'public:everyone'; $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->profile->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->profile->getBestName(); + } + } + + // alphabetical order + asort($choices); + + // Reverse so we can add entries at the end (can't unshift with a key) + $choices = array_reverse($choices); + + if (common_config('notice', 'allowprivate')) { + // TRANS: Option in drop-down of potential addressees. + // TRANS: %s is a StatusNet sitename. + $choices['public:site'] = sprintf(_('Everyone at %s'), common_config('site', 'name')); } + if (!common_config('site', 'private')) { + // TRANS: Option in drop-down of potential addressees. + $choices['public:everyone'] = _m('SENDTO','Everyone'); + } + + // Return the order + $choices = array_reverse($choices); + $this->out->dropdown($this->id, // TRANS: Label for drop-down of potential addressees. _m('LABEL','To:'),