Du bist nicht angemeldet.

1

Donnerstag, 22. Dezember 2011, 23:36

Portalbox (Lite) "Aktive Nutzer"

Eine Box, die aktiven Nutzer, Anzahl der Gäste und Bots ausgibt
(Admins, Supermoderatoren und Moderatoren sind farblich gekennzeichnet,
unsichtbare Mitglieder werden nur berechtigten Mitgliedern mit Namen angezeigt):

PHP-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
<?php
# Constants ***********************************************
$maxUser 100;  # Max. Anzahl der anzuzeigenden User

$userData = array();
$cVI=intval(WCF::getUser()->getPermission('admin.general.canViewInvisible'));

$sql="SELECT u.userID, u.username, o.userOption".User::getUserOptionID('invisible')." as isInvisible,"
               ."\n adm.groupID=4 as isAdmin, mdr.groupID=5 as isModerator, sup.groupID=6 as isSuperMod"
               ."\n FROM wcf".WCF_N."_session s, wcf".WCF_N."_user u"
               ."\n LEFT JOIN  wcf".WCF_N."_user_option_value o"
               ."\n ON (o.userID = u.userID)"
               ."\n LEFT JOIN  wcf1_user_to_groups adm"
               ."\n ON (adm.userID = u.userID) AND (adm.groupID=4)"
               ."\n LEFT JOIN  wcf1_user_to_groups mdr"
               ."\n ON (mdr.userID = u.userID) AND (mdr.groupID=5)"
               ."\n LEFT JOIN  wcf1_user_to_groups sup"
               ."\n ON (sup.userID = u.userID) AND (sup.groupID=6)"
               ."\n WHERE s.spiderID = 0"
               ."\n AND s.userID = u.userID"
               ."\n AND s.lastActivityTime > ".(TIME_NOW USER_ONLINE_TIMEOUT)
               ."\n ORDER BY s.lastActivityTime DESC"
               ."\n Limit 0,".$maxUser;
$result WBBCore::getDB()->sendQuery($sql);

while($row WBBCore::getDB()->fetchArray($result)) {
            $row['userID'] = intval($row['userID']);
            $row['username'] = str_replace(" ""&nbsp;"StringUtil::encodeHTML($row['username']));
            $row['isInvisible'] = intval($row['isInvisible']);
            $row['isAdmin'] = intval($row['isAdmin']);
            $row['isModerator'] = intval($row['isModerator']);
            $row['isSuperMod'] = intval($row['isSuperMod']);
            $userData[] = $row;
}

$cntUsr 0;
$cntInv 0;

# Ausgabe Mitglieder
#------------------------
foreach($userData as $k => $u) {
        if(!$u['isInvisible'] || $cVI) {
             if ($cntUsr == 0) echo '<div class="container-1 smallFont" style="float:none; margin-right:6px;">';
             if ($cntUsr 0) echo ',  ';
             if ($u['isAdmin']) { echo '<span style="font-weight:bold; color:red;">'; }
             else if ($u['isSuperMod']) { echo '<span style="font-weight:bold; color:green;">'; }
             else if ($u['isModerator']) { echo '<span style="color:green;">';}
             else echo '<span>';
             echo "$u[username]";
             echo '</span>';
             if ($u['isInvisible']) echo " (unsichtbar)";
             $cntUsr++;
        }
        else if($u['isInvisible'] && !$cVI$cntInv++;
}
if ($cntUsr 0) echo "</div>";

# Ausgabe unsichtbare Mitglieder
#----------------------------------------
if ($cntInv) {
        echo '<div class="container-1 smallFont" style="float:none; margin-right:6px;">';
        if($cntUsr 0) {$tmp 'und  '; }
        else {$tmp='';}
        if ($cntInv ==) { echo $tmp.'1 unsichtbares Mitglied';}
        else { echo $tmp.$cntDiv.' unsichtbare Mitglieder';}
        echo '</div>';
}

# Ausgabe Gäste und Spider
#----------------------------------------
$sql="SELECT Count(*) as uCount FROM wcf".WCF_N."_session"
        ."\n WHERE userID = 0"
        ."\n AND lastActivityTime > ".(TIME_NOW USER_ONLINE_TIMEOUT)." ";
if ($row WCF::getDB()->getFirstRow($sql)) {
       $cntGst intval($row['uCount']);
       if ($cntGst) {
             $cntSpd 0;
             $sql="SELECT Count(*) as uCount FROM wcf".WCF_N."_session"
                      ."\n WHERE userID = 0"
                      ."\n AND spiderID <> 0"
                      ."\n AND lastActivityTime > ".(TIME_NOW USER_ONLINE_TIMEOUT)." ";
             if ($row WCF::getDB()->getFirstRow($sql)) {
                 $cntSpd intval($row['uCount']);
             }
             $cntGst $cntGst $cntSpd;
             echo '<div class="container-1 smallFont" style="float:none; margin-right:6px;">';
             if($cntUsr || $cntInv) echo ' und ';
             if ($cntGst == ) { echo '1 Gast';}
             else { echo $cntGst.' G&auml;ste';}

             if ($cntSpd 0) {
                 if($cntUsr || $cntInv || $cntGst) echo ' und ';
                 echo $cntSpd.' Spider';
             }
             echo '</div>';
       }
}

unset($userData$maxUser$sql$result$row$cntGst$cntSpd$cVI$cntUsr$cntInv$tmp);
?>

Mehr auf WBB-Basteleien...
Humor ist der Knopf, der verhindert, dass uns der Kragen platzt (Joachim Ringelnatz)
Neue Anlage - Bahnhof Wildbad - Modellbahnsteuerung - EMD MRS 1

Ähnliche Themen