summaryrefslogtreecommitdiff
path: root/app/Module/LoggedInUsersModule.php
diff options
context:
space:
mode:
Diffstat (limited to 'app/Module/LoggedInUsersModule.php')
-rw-r--r--app/Module/LoggedInUsersModule.php209
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 .= '&nbsp;|&nbsp;';
- }
- }
- 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 .= '&nbsp;|&nbsp;';
+ }
+ }
+ 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)
+ {
+ }
}