Du bist nicht angemeldet.

1

Samstag, 10. Dezember 2011, 15:59

PortalBox "Wer ist im Chat?"

Eine kleine eigene Portalbox, die die Mitglieder im Chat anzeigt:

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
<?php
if (WCF::getUser()->userID) {
  $userData = array();
  $cVI=intval(WCF::getUser()->getPermission('admin.general.canViewInvisible'));
  $sql 'SELECT packageID FROM wcf'.WCF_N.'_package WHERE package="com.alexanderzwei.wbb.chat"';
  if ($row WCF::getDB()->getFirstRow($sql)) {
     $packageID intval($row['packageID']);

     $sql="SELECT c.userID, u.username, o.userOption".User::getUserOptionID('invisible')." as isInvisible"
           ."\n  FROM wbb".WBB_N."_chat_online c"
           ."\n LEFT JOIN  wcf".WCF_N."_user_option_value o"
           ."\n ON (o.userID = c.userID)"
           ."\n LEFT JOIN  wcf".WCF_N."_user u"
           ."\n ON (u.userID = c.userID)"
           ."\n WHERE c.userRole<>0"
           ."\n ORDER BY c.dateTime DESC";

     $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']);
        $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 '<a title="';
            echo "$u[username]";
            echo '" href="index.php?page=User&amp;userID=';
            echo "$u[userID]";
            echo '">';
            echo "$u[userName]";
            echo '</a>';
            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 wbb".WBB_N."_chat_online"
         ."\n WHERE userRole=0";
    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$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