Show online status indicator in user management
authorMarcel Werk <burntime@woltlab.com>
Tue, 26 Oct 2021 14:44:39 +0000 (16:44 +0200)
committerMarcel Werk <burntime@woltlab.com>
Tue, 26 Oct 2021 14:44:39 +0000 (16:44 +0200)
Closes #4568

wcfsetup/install/files/acp/templates/userList.tpl
wcfsetup/install/files/style/ui/userProfile.scss

index bc3c70f01fc295f6c4cf17531715d5fc3398811b..afa23c33d9d85ad8d40cf8126c1ec83e908f0d78 100644 (file)
                                                </td>
 
                                                {foreach from=$columnHeads key=column item=columnLanguageVariable}
-                                                       {if $column === 'registrationDate'}
-                                                               <td class="columnDate columnRegistrationIpAddress">
-                                                                       {if $__wcf->session->getPermission('admin.user.canViewIpAddress') && $user->registrationIpAddress}
-                                                                               <span class="jsTooltip" title="{lang}wcf.user.registrationIpAddress{/lang}">{$user->getRegistrationIpAddress()}</span>
+                                                       {if $column === 'lastActivityTime'}
+                                                               <td class="column{$column|ucfirst}{if $columnStyling[$column]|isset} {$columnStyling[$column]}{/if}">
+                                                                       {if $user->isOnline()}
+                                                                               {lang}wcf.user.online{/lang}
+                                                                               <span class="userOnlineIndicator" aria-hidden="true"></span>
+                                                                       {else}
+                                                                               {if $columnValues[$user->userID][$column]|isset}{@$columnValues[$user->userID][$column]}{/if}
                                                                        {/if}
                                                                </td>
-                                                       {/if}
-                                                       <td class="column{$column|ucfirst}{if $columnStyling[$column]|isset} {$columnStyling[$column]}{/if}">{if $columnValues[$user->userID][$column]|isset}{@$columnValues[$user->userID][$column]}{/if}</td>
+                                                       {else}
+                                                               {if $column === 'registrationDate'}
+                                                                       <td class="columnDate columnRegistrationIpAddress">
+                                                                               {if $__wcf->session->getPermission('admin.user.canViewIpAddress') && $user->registrationIpAddress}
+                                                                                       <span class="jsTooltip" title="{lang}wcf.user.registrationIpAddress{/lang}">{$user->getRegistrationIpAddress()}</span>
+                                                                               {/if}
+                                                                       </td>
+                                                               {/if}
+                                                               <td class="column{$column|ucfirst}{if $columnStyling[$column]|isset} {$columnStyling[$column]}{/if}">{if $columnValues[$user->userID][$column]|isset}{@$columnValues[$user->userID][$column]}{/if}</td>
+                                                       {/if}   
                                                {/foreach}
 
                                                {event name='columns'}
index c8c710f062e5233c62e9f1f2d99626450edc260f..15f79b2cbe17586ff09680519026612c4910c770 100644 (file)
                }
        }
 }
+
+.userOnlineIndicator {
+       background-color: rgba(0, 153, 0, 1);
+       border-radius: 50%;
+       display: inline-block;
+       height: 8px;
+       width: 8px;
+}