diff options
Diffstat (limited to 'app/Module/LoggedInUsersModule.php')
| -rw-r--r-- | app/Module/LoggedInUsersModule.php | 209 |
1 files changed, 112 insertions, 97 deletions
diff --git a/app/Module/LoggedInUsersModule.php b/app/Module/LoggedInUsersModule.php index 82cc042f85..91e72ee237 100644 --- a/app/Module/LoggedInUsersModule.php +++ b/app/Module/LoggedInUsersModule.php @@ -25,110 +25,125 @@ use Fisharebest\Webtrees\User; /** * Class LoggedInUsersModule */ -class LoggedInUsersModule extends AbstractModule implements ModuleBlockInterface { - /** {@inheritdoc} */ - public function getTitle() { - return /* I18N: Name of a module. (A list of users who are online now) */ I18N::translate('Who is online'); - } +class LoggedInUsersModule extends AbstractModule implements ModuleBlockInterface +{ + /** {@inheritdoc} */ + public function getTitle() + { + return /* I18N: Name of a module. (A list of users who are online now) */ + I18N::translate('Who is online'); + } - /** {@inheritdoc} */ - public function getDescription() { - return /* I18N: Description of the “Who is online” module */ I18N::translate('A list of users and visitors who are currently online.'); - } + /** {@inheritdoc} */ + public function getDescription() + { + return /* I18N: Description of the “Who is online” module */ + I18N::translate('A list of users and visitors who are currently online.'); + } - /** - * Generate the HTML content of this block. - * - * @param Tree $tree - * @param int $block_id - * @param bool $template - * @param string[] $cfg - * - * @return string - */ - public function getBlock(Tree $tree, int $block_id, bool $template = true, array $cfg = []): string { - $anonymous = 0; - $logged_in = []; - $content = ''; - foreach (User::allLoggedIn() as $user) { - if (Auth::isAdmin() || $user->getPreference('visibleonline')) { - $logged_in[] = $user; - } else { - $anonymous++; - } - } - $count_logged_in = count($logged_in); - $content .= '<div class="logged_in_count">'; - if ($anonymous) { - $content .= I18N::plural('%s anonymous signed-in user', '%s anonymous signed-in users', $anonymous, I18N::number($anonymous)); - if ($count_logged_in) { - $content .= ' | '; - } - } - if ($count_logged_in) { - $content .= I18N::plural('%s signed-in user', '%s signed-in users', $count_logged_in, I18N::number($count_logged_in)); - } - $content .= '</div>'; - $content .= '<div class="logged_in_list">'; - if (Auth::check()) { - foreach ($logged_in as $user) { - $individual = Individual::getInstance($tree->getUserPreference($user, 'gedcomid'), $tree); + /** + * Generate the HTML content of this block. + * + * @param Tree $tree + * @param int $block_id + * @param bool $template + * @param string[] $cfg + * + * @return string + */ + public function getBlock(Tree $tree, int $block_id, bool $template = true, array $cfg = []): string + { + $anonymous = 0; + $logged_in = []; + $content = ''; + foreach (User::allLoggedIn() as $user) { + if (Auth::isAdmin() || $user->getPreference('visibleonline')) { + $logged_in[] = $user; + } else { + $anonymous++; + } + } + $count_logged_in = count($logged_in); + $content .= '<div class="logged_in_count">'; + if ($anonymous) { + $content .= I18N::plural('%s anonymous signed-in user', '%s anonymous signed-in users', $anonymous, I18N::number($anonymous)); + if ($count_logged_in) { + $content .= ' | '; + } + } + if ($count_logged_in) { + $content .= I18N::plural('%s signed-in user', '%s signed-in users', $count_logged_in, I18N::number($count_logged_in)); + } + $content .= '</div>'; + $content .= '<div class="logged_in_list">'; + if (Auth::check()) { + foreach ($logged_in as $user) { + $individual = Individual::getInstance($tree->getUserPreference($user, 'gedcomid'), $tree); - $content .= '<div class="logged_in_name">'; - if ($individual) { - $content .= '<a href="' . e($individual->url()) . '">' . e($user->getRealName()) . '</a>'; - } else { - $content .= e($user->getRealName()); - } - $content .= ' - ' . e($user->getUserName()); - if (Auth::id() != $user->getUserId() && $user->getPreference('contactmethod') != 'none') { - $content .= FontAwesome::linkIcon('email', I18N::translate('Send a message'), ['class' => 'btn btn-link', 'href' => route('message', ['to' => $user->getUserName(), 'ged' => $tree->getName()])]); - } - $content .= '</div>'; - } - } - $content .= '</div>'; + $content .= '<div class="logged_in_name">'; + if ($individual) { + $content .= '<a href="' . e($individual->url()) . '">' . e($user->getRealName()) . '</a>'; + } else { + $content .= e($user->getRealName()); + } + $content .= ' - ' . e($user->getUserName()); + if (Auth::id() != $user->getUserId() && $user->getPreference('contactmethod') != 'none') { + $content .= FontAwesome::linkIcon('email', I18N::translate('Send a message'), ['class' => 'btn btn-link', + 'href' => route('message', [ + 'to' => $user->getUserName(), + 'ged' => $tree->getName(), + ]), + ]); + } + $content .= '</div>'; + } + } + $content .= '</div>'; - if ($anonymous === 0 && $count_logged_in === 0) { - return ''; - } + if ($anonymous === 0 && $count_logged_in === 0) { + return ''; + } - if ($template) { - return view('modules/block-template', [ - 'block' => str_replace('_', '-', $this->getName()), - 'id' => $block_id, - 'config_url' => '', - 'title' => $this->getTitle(), - 'content' => $content, - ]); - } else { - return $content; - } - } + if ($template) { + return view('modules/block-template', [ + 'block' => str_replace('_', '-', $this->getName()), + 'id' => $block_id, + 'config_url' => '', + 'title' => $this->getTitle(), + 'content' => $content, + ]); + } else { + return $content; + } + } - /** {@inheritdoc} */ - public function loadAjax(): bool { - return false; - } + /** {@inheritdoc} */ + public function loadAjax(): bool + { + return false; + } - /** {@inheritdoc} */ - public function isUserBlock(): bool { - return true; - } + /** {@inheritdoc} */ + public function isUserBlock(): bool + { + return true; + } - /** {@inheritdoc} */ - public function isGedcomBlock(): bool { - return true; - } + /** {@inheritdoc} */ + public function isGedcomBlock(): bool + { + return true; + } - /** - * An HTML form to edit block settings - * - * @param Tree $tree - * @param int $block_id - * - * @return void - */ - public function configureBlock(Tree $tree, int $block_id) { - } + /** + * An HTML form to edit block settings + * + * @param Tree $tree + * @param int $block_id + * + * @return void + */ + public function configureBlock(Tree $tree, int $block_id) + { + } } |
