ilch Forum » Allgemein » HTML, PHP, SQL,... » Onlinebox Userfarbe Gruppen.

Geschlossen
  1. #1
    User Pic
    Maretz Hall Of Fame
    Registriert seit
    28.02.2009
    Beiträge
    740
    Beitragswertungen
    74 Beitragspunkte
    Servus.

    Ist es den möglich in der OnlineBox die angezeigten User einer bestimmten Gruppe oder Rank mit einem anderen Hexcode zu belegen ?

    Hier mal die OnlineBox:

    <?php
    if (!defined('main')) {die("no direct access");}
    $dif = date('Y-m-d H:i:s', time() - 60);
    $abf = "SELECT uid FROM `prefix_online` WHERE uptime > '". $dif."' LIMIT 0,5";
    $resultID = db_query($abf);
    $brk='';
    $guests = 0;
    $guestn = $lang['guests'];
    $uid = array();
    $content='';
     
    while ($row = db_fetch_object($resultID)) {
        if ($row->uid != 0 AND $brk!=$row->uid) {
            $name=@db_result(db_query('SELECT name FROM prefix_user WHERE id='.$row->uid),0);
            $content.='<a class="online" href="index.php?user-details-'.$row->uid.'" title = "gerade online">'.$name.'</a>&nbsp;&nbsp;';
            $uid[] = $row->uid;
        }
        if ($row->uid == 0) { $guests++; }
        $brk=$row->uid;
    }
    
    $content .= '|  ';
    $where = (count($uid)>0) ? 'WHERE id NOT IN ('.implode(', ', $uid).')' : '';
    $abf2 = 'SELECT * FROM prefix_user '.$where.' ORDER BY llogin DESC LIMIT 0,5';
    $erg2 = db_query($abf2);
    
    while ($row2 = db_fetch_object($erg2)) {
    	$datum = date('H:i d.m.y',$row2->llogin);
    	$user = $row2->name;
    	$content.='<a class="offline" href="index.php?user-details-'.$row2->id.'" title="'.$lang['lasttimeonline'].$datum.'">'.$user.'</a>&nbsp;&nbsp;';
    }
    
    $content .= '|  ';
    if ($guests == 0) {
    	$content.= '<tr><td>0 '.$lang['guests'].'</td></tr>'."\n";
    } else {
    	$content.= '<tr></td>'.$guests.' '.$guestn.'</td></tr>'."\n";
    }
    echo $content; ?>


    Wäre super,wenn dies möglich wäre. Mfg Maretz


    Zuletzt modifiziert von Maretz am 17.01.2011 - 20:01:04
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    H4ckHunt3r Mitglied
    Registriert seit
    02.01.2010
    Beiträge
    408
    Beitragswertungen
    18 Beitragspunkte
    Möglich ist das aufjeden fall zwinker

    Nicht getestet... aber so in etwa müssts gehen:

    Als erstes schreibst du iwo oben hin:
    function get_PuStyle($recht)
    {
     switch($recht)
     {
     case'-9': // -9 = Admin
         return ""; // StyleSheet - Admin
     break;
     case'-8': // -8 = CoAdmin
         return ""; // Stylesheet - CoAdmin
     break;
     }
    }

    Hier musste natürlich alle Rechts eintragen und jeweils den Stylesheet dazu...


    Dan
    while ($row = db_fetch_object($resultID)) {
        if ($row->uid != 0 AND $brk!=$row->uid) {
            $name=@db_result(db_query('SELECT name FROM prefix_user WHERE id='.$row->uid),0);
            $content.='<a class="online" href="index.php?user-details-'.$row->uid.'" title = "gerade online">'.$name.'</a>&nbsp;&nbsp;';
            $uid[] = $row->uid;
        }
        if ($row->uid == 0) { $guests++; }
        $brk=$row->uid;
    }

    ersetzen durch...
    while ($row = db_fetch_object($resultID)) {
        if ($row->uid != 0 AND $brk!=$row->uid) {
            $name=@db_result(db_query('SELECT name FROM prefix_user WHERE id='.$row->uid),0);
            $content.='<a class="online" style="'.get_PuStyle($row["recht"]).'" href="index.php?user-details-'.$row->uid.'" title = "gerade online">'.$name.'</a>&nbsp;&nbsp;';
            $uid[] = $row->uid;
        }
        if ($row->uid == 0) { $guests++; }
        $brk=$row->uid;
    }



    Und
    while ($row2 = db_fetch_object($erg2)) {
        $datum = date('H:i d.m.y',$row2->llogin);
        $user = $row2->name;
        $content.='<a class="offline" href="index.php?user-details-'.$row2->id.'" title="'.$lang['lasttimeonline'].$datum.'">'.$user.'</a>&nbsp;&nbsp;';
    }

    ersetzen durch
    while ($row2 = db_fetch_object($erg2)) {
        $datum = date('H:i d.m.y',$row2->llogin);
        $user = $row2->name;
        $content.='<a class="offline" style="'.get_PuStyle($row["recht"]).'" href="index.php?user-details-'.$row2->id.'" title="'.$lang['lasttimeonline'].$datum.'">'.$user.'</a>&nbsp;&nbsp;';
    }


    Dan müssts eig funzen wenn ned nomma melden^^


    Zuletzt modifiziert von H4ckHunt3r am 17.01.2011 - 20:28:53
    Lg H4ckHunt3r
    Meine Page
    Mein Projekt
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    Maretz Hall Of Fame
    Registriert seit
    28.02.2009
    Beiträge
    740
    Beitragswertungen
    74 Beitragspunkte
    Bekomme diese Fehlermeldung :

    Fatal error: Cannot use object of type stdClass as array in /mnt/weba/62/48/52024048/htdocs/fKC/include/boxes/online.php on line 52

    <?php
    if (!defined('main')) {die("no direct access");}
    $dif = date('Y-m-d H:i:s', time() - 60);
    $abf = "SELECT uid FROM `prefix_online` WHERE uptime > '". $dif."' LIMIT 0,5";
    $resultID = db_query($abf);
    $brk='';
    $guests = 0;
    $guestn = $lang['guests'];
    $uid = array();
    $content='';
    
    function get_PuStyle($recht)
    {
     switch($recht)
     {
     case'-9': // -9 = Admin
         return "color:#999999"; 
     break;
     case'-8': // -8 = CoAdmin
         return "color:#ffffff"; 
     break;
     case'-7': // -7 = SiteAdmin
         return "color:#ffffff"; 
     break;
     case'-6': // -6 = Leader
         return "color:#ffffff"; 
     break;
     case'-5': // -5 = CoLeader
         return "color:#ffffff"; 
     break;
     case'-4': // -4 = Member
         return "color:#ffffff"; 
     break;
     case'-3': // -3 = Trialmember
         return "color:#ffffff"; 
     break;
     case'-2': // -2 = Superuser
         return "color:#ffffff"; 
     break;
     case'-1': // -1 = User
         return "color:#ffffff"; 
     break;
     case'0': // 0 = Gast
         return "color:#ffffff"; 
     break;
     }
    }
     
    while ($row = db_fetch_object($resultID)) {
        if ($row->uid != 0 AND $brk!=$row->uid) {
            $name=@db_result(db_query('SELECT name FROM prefix_user WHERE id='.$row->uid),0);
            $content.='<a class="online" style="'.get_PuStyle($row["recht"]).'" href="index.php?user-details-'.$row->uid.'" title = "gerade online">'.$name.'</a>&nbsp;&nbsp;';
            $uid[] = $row->uid;
        }
        if ($row->uid == 0) { $guests++; }
        $brk=$row->uid;
    }
    
    $content .= '|  ';
    $where = (count($uid)>0) ? 'WHERE id NOT IN ('.implode(', ', $uid).')' : '';
    $abf2 = 'SELECT * FROM prefix_user '.$where.' ORDER BY llogin DESC LIMIT 0,5';
    $erg2 = db_query($abf2);
    
    while ($row2 = db_fetch_object($erg2)) {
        $datum = date('H:i d.m.y',$row2->llogin);
        $user = $row2->name;
        $content.='<a class="offline" style="'.get_PuStyle($row["recht"]).'" href="index.php?user-details-'.$row2->id.'" 
    
    title="'.$lang['lasttimeonline'].$datum.'">'.$user.'</a>&nbsp;&nbsp;';
    }
    
    $content .= '|  ';
    if ($guests == 0) {
    	$content.= '<tr><td>0 '.$lang['guests'].'</td></tr>'."\n";
    } else {
    	$content.= '<tr></td>'.$guests.' '.$guestn.'</td></tr>'."\n";
    }
    echo $content; ?>
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    H4ckHunt3r Mitglied
    Registriert seit
    02.01.2010
    Beiträge
    408
    Beitragswertungen
    18 Beitragspunkte
    Sry hab übersehen das unten das array row2 heißt^^

    Ersetz einfach nomma
    while ($row2 = db_fetch_object($erg2)) {
        $datum = date('H:i d.m.y',$row2->llogin);
        $user = $row2->name;
        $content.='<a class="offline" style="'.get_PuStyle($row["recht"]).'" href="index.php?user-details-'.$row2->id.'"
     
    title="'.$lang['lasttimeonline'].$datum.'">'.$user.'</a>&nbsp;&nbsp;';
    }

    durch
    while ($row2 = db_fetch_object($erg2)) {
        $datum = date('H:i d.m.y',$row2->llogin);
        $user = $row2->name;
        $content.='<a class="offline" style="'.get_PuStyle($row2["recht"]).'" href="index.php?user-details-'.$row2->id.'"
     
    title="'.$lang['lasttimeonline'].$datum.'">'.$user.'</a>&nbsp;&nbsp;';
    }


    Dann müssts aber funzen zwinker
    Lg H4ckHunt3r
    Meine Page
    Mein Projekt
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    Maretz Hall Of Fame
    Registriert seit
    28.02.2009
    Beiträge
    740
    Beitragswertungen
    74 Beitragspunkte
    Der Fehlercode bleibt unverändert. Werd auf div.Seiten schauen , um dieses Problem zu lösen. Thanks.... lächeln
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Also der Fehler kommt, wenn man $row = db_fetch_object benutzt und dann mit $row['eintrag'] anstatt mit $row->eintrag versucht auf die Variablen zuzugreifen.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    2 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    H4ckHunt3r Mitglied
    Registriert seit
    02.01.2010
    Beiträge
    408
    Beitragswertungen
    18 Beitragspunkte
    ZitatZitat geschrieben von Mairu

    Also der Fehler kommt, wenn man $row = db_fetch_object benutzt und dann mit $row['eintrag'] anstatt mit $row->eintrag versucht auf die Variablen zuzugreifen.

    Mhhh... man sollte evtl. den source doch erst ganz lesen^^
    ich arbeite immer mit db_fetch_assoc^^

    dan für dich Maretz nochma:
    $row["recht"]

    durch
    $row->recht

    ersetzen

    und
    $row2["recht"]

    durch
    $row2->recht

    ersetzen

    EDIT:
    Ich fänd das auch ma für ilch 1.2 noch ne gute Idee das man standartmäßig für die ganze Seite die Namen durch nen Stylesheet nach Gruppen und/oder Recht über den Admin bereich (bei den Rechten&/Teams) ändern kann.^^


    Zuletzt modifiziert von H4ckHunt3r am 18.01.2011 - 14:02:07
    Lg H4ckHunt3r
    Meine Page
    Mein Projekt
    1 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    Maretz Hall Of Fame
    Registriert seit
    28.02.2009
    Beiträge
    740
    Beitragswertungen
    74 Beitragspunkte
    Vielen Dank an Euch Beide.So funktioniert dies Super, wie ich mir es auch vorgestellt habe.
    Nochmals Danke für die erstellte Box. Mfg Maretz
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu HTML, PHP, SQL,...

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten