Du bist nicht angemeldet.

1

Samstag, 17. Dezember 2011, 22:44

Portalbox "User in der Filebase"

Eine kleine, eigene Box zur Anzeige der User, die sich aktuell in der Infinite-Filebase befinden:

"Unsichtbare" Mitglieder werden namentlich nur angezeigt, wenn die entsprechende Berechtigung vorliegt!

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
<?php
# Constants ***********************************************
$maxUser 30;  # Max. Anzahl der anzuzeigenden User

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

$sql 'SELECT packageID FROM wcf'.WCF_N.'_package WHERE package="com.wcfsolutions.wsif"';
if ($row WCF::getDB()->getFirstRow($sql)) {
   $packageID intval($row['packageID']);

   $sql="SELECT u.userID, u.username, o.userOption".User::getUserOptionID('invisible')." as isInvisible"
           ."\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 WHERE s.packageID=".$packageID
           ."\n AND 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['username'] = str_replace(" ""&nbsp;"StringUtil::encodeHTML($row{'username'));
        $row['userID'] = intval($row['userID']);
        $row['isInvisible'] = intval($row['isInvisible']);
        $userData[] = $row;
   }
  $cntUsr 0;
  $cntInv 0;

  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 ',  ';
            echo "$u[username]";
            if ($u['isInvisible']) echo " (unsichtbar)";
            $cntUsr++;
      }
      else if($u['isInvisible'] && !$cVI$cntInv++;
  }
  if ($cntUsr 0) echo "</div>";

  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>';
  }

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


Gruß Frank

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

Verwendete Tags

Eigene Box, Portal, WoltLab