コード例 #1
0
function whoisonline()
{
    $NumAnonymous = 0;
    $loggedusers = array();
    $content = '';
    foreach (User::allLoggedIn() as $user) {
        if (Auth::isAdmin() || $user->getSetting('visibleonline')) {
            $loggedusers[] = $user;
        } else {
            $NumAnonymous++;
        }
    }
    $LoginUsers = count($loggedusers);
    $content .= '<div class="logged_in_count">';
    if ($NumAnonymous) {
        $content .= WT_I18N::plural('%d anonymous logged-in user', '%d anonymous logged-in users', $NumAnonymous, $NumAnonymous);
        if ($LoginUsers) {
            $content .= '&nbsp;|&nbsp;';
        }
    }
    if ($LoginUsers) {
        $content .= WT_I18N::plural('%d logged-in user', '%d logged-in users', $LoginUsers, $LoginUsers);
    }
    $content .= '</div>';
    $content .= '<div class="logged_in_list">';
    if (WT_USER_ID) {
        foreach ($loggedusers as $user) {
            $content .= '<div class="logged_in_name">';
            $content .= WT_Filter::escapeHtml($user->getRealName()) . ' - ' . WT_Filter::escapeHtml($user->getUserName());
            if (WT_USER_ID != $user->getUserId() && $user->getSetting('contactmethod') != 'none') {
                $content .= ' <a class="icon-email" href="#" onclick="return message(\'' . WT_Filter::escapeJs($user->getUserName()) . '\', \'\', \'' . WT_Filter::escapeJs(get_query_url()) . '\');" title="' . WT_I18N::translate('Send message') . '"></a>';
            }
            $content .= '</div>';
        }
    }
    $content .= '</div>';
    return $content;
}
コード例 #2
0
ファイル: Stats.php プロジェクト: sadr110/webtrees
 static function _usersLoggedInTotal($type = 'all')
 {
     $anon = 0;
     $visible = 0;
     foreach (User::allLoggedIn() as $user) {
         if (Auth::isAdmin() || $user->getSetting('visibleonline')) {
             $visible++;
         } else {
             $anon++;
         }
     }
     if ($type == 'anon') {
         return $anon;
     } elseif ($type == 'visible') {
         return $visible;
     } else {
         return $visible + $anon;
     }
 }