1. Dashboard
  2. Artikel
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  4. Forum
  5. Filebase
  6. To-do-Liste
  7. FAQ
  • Anmelden oder registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Filebase-Eintrag
  • FAQ
  • Erweiterte Suche
  1. BratNix.de
  2. Filebase
  3. GT-Chat
  4. Add-On (0.96)

Online-Benutzeranzeige in PHP

  • OnkelBier
  • 5. April 2024 um 17:54
  • 415 Downloads
  • 304 mal gelesen
  • Herunterladen
  • Produkt: Online-Benutzeranzeige in PHP

    Version: 1.0

    Editor: Matzelix

    Entwickler: Matzelix

    Entwicklungsjahr: 2006

    Benötigte Ressourcen: -

    Alternative Ressourcen: -

    Screen Shots: -


    Beschreibung:

    Ich habe vor längerer Zeit mal ein php-script geschrieben, mit dem man die Zahl der registrierten Benutzer, die Zahl der Online-Benutzer und die Namen der Benutzer nach Räumen aufgeteilt darstellen kann, ohne dabei die chat.pl und die template Engine zu benutzen. Dadurch kann man die Zahl der gestartenen Prozesse der chat.pl verringern, besonders dann, wenn man viele externe Anzeigen über den Chat auf seiner Website eingebaut hat. Es kann also die Belastung des Servers verringern, wenn man eine gut besuchte Website hat mit eingebauter Chat-Online-Anzeige.

    Zitat

    <?php
    function lese_dateien($path)
    {
    $result = array();

    $handle = opendir($path);

    if ($handle)
    {
    while (false !== ($file = readdir($handle)))
    {
    if ($file != "." && $file != "..")
    {
    if (strstr ( $file, '.user' ) )
    {
    $name = $path . "/" . $file;
    $result[] = $name;
    }
    }
    }
    }
    closedir($handle);
    return $result;
    }

    function lese_raeume($path)
    {
    $result = array();

    $handle = opendir($path);

    if ($handle)
    {
    while (false !== ($file = readdir($handle)))
    {
    if ($file != "." && $file != "..")
    {
    if (strstr ( $file, '.dat' ) )
    {
    $name = $path . "/" . $file;
    $result[] = $name;
    }
    }
    }
    }
    closedir($handle);
    return $result;
    }
    $memberlistfile = file ('/srv/www/htdocs/web1/html/cgi-bin/gtchat96/Members/memberlist.txt');
    $membercount = count ($memberlistfile);
    echo "<b>" . $membercount . "</b> registrierte Benutzer<br />\n";

    $onlineusers = lese_dateien("/srv/www/htdocs/web1/html/cgi-bin/gtchat96/Online");
    $onlineusercount = count($onlineusers);
    $rooms = lese_raeume("/srv/www/htdocs/web1/html/cgi-bin/gtchat96/Rooms");

    $roomprivate = array();
    $roomname = array();
    foreach($rooms as $value)
    {
    $roomfile = file ( $value );
    $roomfile = str_replace(chr(10), '', $roomfile);
    $roomkey = strtolower($roomfile[0]);
    $roomprivate[$roomkey] = $roomfile[2];
    $roomname[$roomkey] = $roomfile[0];
    }
    echo "<b>" . $onlineusercount . "</b> Benutzer online<br />\n";
    echo "<br />";
    echo "Wer ist wo im Chat:<br />\n";
    echo "<hr />";
    if ($onlineusercount == 0)
    echo "kein Benutzer online<br />\n";
    $roomusercount = array ();
    $roomusers = array();
    foreach($onlineusers as $value)
    {
    $onlinefile = file ( $value );
    $onlinedata = $onlinefile[0];
    $a = explode ("|", $onlinedata );
    $roomusercount[$a[3]]++;
    $roomusers[$a[3]][$a[2]] = $a[2];
    }
    $roomcount = count($roomusercount);
    natcasesort ($roomusers);
    $nonprivatusers = false;
    foreach($roomusers as $users)
    {
    $raum = key($roomusers);
    if (!$roomprivate[$raum])
    {
    $nonprivatusers = true;
    echo "<b>" . $roomname[$raum] . ":</b>(" . $roomusercount[$raum] . "/". $onlineusercount . ") <br />\n";
    next($roomusers);
    natcasesort ($users);
    foreach ($users as $benutzer)
    {
    echo $benutzer . "<br />\n";
    }
    }
    }
    if (!$nonprivatusers and $onlineusercount != 0)
    echo "Keine Benutzer in den <br />öffentlichen Räumen...<br />\n";
    echo "<hr />";
    ?>

    Alles anzeigen



    Dieses Script benutze ich jetzt schon mehr als ein halbes Jahr und hatte eigentlich keine Probleme damit. Im Prinzip müsst ihr nur die folgenden Pfade im Programmtext anpassen:

    Zitat

    $memberlistfile = file ('/srv/www/htdocs/web1/html/cgi-bin/gtchat96/Members/memberlist.txt');

    $onlineusers = lese_dateien("/srv/www/htdocs/web1/html/cgi-bin/gtchat96/Online");

    $rooms = lese_raeume("/srv/www/htdocs/web1/html/cgi-bin/gtchat96/Rooms");



    Die Einbindung könnte, wenn man das o.g. Script als "chatinfo.php" den Webspace lädt, wie folgt aussehen:

    Zitat

    <?php include('gtchat96/chatinfo.php'); ?>



    Eine Variante des o.g. Script für die Einbindung mit javascript könnte so aussehen:

    Zitat

    <?php
    function lese_dateien($path)
    {
    $result = array();

    $handle = opendir($path);

    if ($handle)
    {
    while (false !== ($file = readdir($handle)))
    {
    if ($file != "." && $file != "..")
    {
    if (strstr ( $file, '.user' ) )
    {
    $name = $path . "/" . $file;
    $result[] = $name;
    }
    }
    }
    }
    closedir($handle);
    return $result;
    }

    function lese_raeume($path)
    {
    $result = array();

    $handle = opendir($path);

    if ($handle)
    {
    while (false !== ($file = readdir($handle)))
    {
    if ($file != "." && $file != "..")
    {
    if (strstr ( $file, '.dat' ) )
    {
    $name = $path . "/" . $file;
    $result[] = $name;
    }
    }
    }
    }
    closedir($handle);
    return $result;
    }

    $memberlistfile = file ('/srv/www/htdocs/web1/html/cgi-bin/gtchat96/Members/memberlist.txt');
    $membercount = count ($memberlistfile);
    echo 'document.write("<b>' . $membercount . '</b> registrierte Benutzer<br>");' . "\n";

    $onlineusers = lese_dateien("/srv/www/htdocs/web1/html/cgi-bin/gtchat96/Online");
    $onlineusercount = count($onlineusers);
    $rooms = lese_raeume("/srv/www/htdocs/web1/html/cgi-bin/gtchat96/Rooms");
    $roomprivate = array();
    $roomname = array();
    foreach($rooms as $value)
    {
    $roomfile = file ( $value );
    $roomfile = str_replace(chr(10), '', $roomfile);
    $roomkey = strtolower($roomfile[0]);
    $roomprivate[$roomkey] = $roomfile[2];
    $roomname[$roomkey] = $roomfile[0];
    }
    echo 'document.write("<b>' . $onlineusercount . '</b> Benutzer online<br><br>Wer ist wo im Chat:<br><hr>");' . "\n";
    if ($onlineusercount == 0)
    echo 'document.write("kein Benutzer online<br>");' . "\n";
    $roomusercount = array ();
    $roomusers = array();
    foreach($onlineusers as $value)
    {
    $onlinefile = file ( $value );
    $onlinedata = $onlinefile[0];
    $a = explode ("|", $onlinedata );
    $roomusercount[$a[3]]++;
    $roomusers[$a[3]][$a[2]] = $a[2];
    }
    $roomcount = count($roomusercount);
    natcasesort ($roomusers);
    $nonprivatusers = false;
    foreach($roomusers as $users)
    {
    $raum = key($roomusers);
    if (!$roomprivate[$raum])
    {
    $nonprivatusers = true;
    echo 'document.write("<b>' . $roomname[$raum] . ':</b>(' . $roomusercount[$raum] . '/'. $onlineusercount . ') <br>");' . "\n";
    next($roomusers);
    natcasesort ($users);
    foreach ($users as $benutzer)
    {
    echo 'document.write("' . $benutzer . '<br>");' . "\n";
    }
    }
    }
    if (!$nonprivatusers and $onlineusercount != 0)
    echo 'document.write("Keine Benutzer in den <br>öffentlichen Räumen...<br>");' . "\n";
    echo 'document.write("<hr>");'. "\n";

    ?>

    Alles anzeigen




    Auch hier müssen die folgenden Zeilen an den eigenen Server / Webspace angepasst werden:

    Zitat

    $memberlistfile = file ('/srv/www/htdocs/web1/html/cgi-bin/gtchat96/Members/memberlist.txt');

    $onlineusers = lese_dateien("/srv/www/htdocs/web1/html/cgi-bin/gtchat96/Online");


    $rooms = lese_raeume("/srv/www/htdocs/web1/html/cgi-bin/gtchat96/Rooms");



    Wenn man das o.g. Script z.b. als "chatinfo_js.php" in den www Ordner des GTChats auf den Webspace lädt, dann kann man die Anzeige z.B. auf die folgende Weise einbinden:

    Zitat

    <script language="JavaScript" src="http://deine-domain.tld/gtchat96/chatinfo_js.php" type="text/javascript"></script>



    ----------------------------

    Viel Spaß damit wünscht das GTChat-Developer.com - Team!

    Dateien

    • blank.txt

      62 Byte (415 Downloads)
    • Teilen
    • Inhalt melden

Weitere Einträge

  • /sps Command

    OnkelBier - 5. April 2024 um 17:59
  • Admins vom Autokick ausschliessen

    OnkelBier - 5. April 2024 um 17:58
  • Register-BadWord-Filter 1.1

    OnkelBier - 5. April 2024 um 17:58
  • Resetpointsystem

    OnkelBier - 5. April 2024 um 17:57
  • /dupeip-Befehl

    OnkelBier - 5. April 2024 um 17:56
  • Usertitle

    OnkelBier - 5. April 2024 um 17:55
  • Texteffects

    OnkelBier - 5. April 2024 um 17:55
  • Log Reader

    OnkelBier - 5. April 2024 um 17:53
  • Quasselecke Admin

    OnkelBier - 5. April 2024 um 17:52
  • Quasselecke

    OnkelBier - 5. April 2024 um 17:51
Alle Einträge
  1. Datenschutzerklärung
  2. Kontakt
  3. Impressum
Filebase, entwickelt von www.viecode.com
Community-Software: WoltLab Suite™
Stil: ArcticFox von Foxly