Archiv verlassen und diese Seite im Standarddesign anzeigen : [Suche] Wer war heute Online - Hack
tHe-fOrCEr
26.10.2001, 17:13
Suche einen Hack dieser Art:
Die waren Heute auch schon alle hier! Sind halt etwas eher aufgestanden :-))))
-=Celtic=-, eliteforce, FrAYseR, Naftalin-Crew, Thunder-FXP, Viper[ICE-FXP], Wuerfel, _={tRaDiNg _ OnE}=_ FxP-Group
Es soll eine liste sein.. ganz unten im vbb, ambesten unter der userliste der alle nicks auflistet die heute (also dem aktuellen tag) schon online waren.
Suche in der index.php folgendes:
$DB_site->free_result($loggedins);
Danach füge folgendes ein:
$dateheute=date("d-m-Y");
$usersheute=$DB_site->query("SELECT username, userid FROM user WHERE FROM_UNIXTIME(lastactivity,'%d-%m-%Y') = '$dateheute' ORDER BY username");
while ($userheute=$DB_site->fetch_array($usersheute)) {
if ($heuteonline) {
$heuteonline.=", ";
}
$heuteonline.="<a href=\"member.php?s=$session[sessionhash]&action=getinfo&userid=$userheute[userid]\">$userheute[username]</a>";
}
Öffne das Template forumhome_loggedinusers und füge folgendes am Ende des Templates hinzu:
[CODE]<tr>
tHe-fOrCEr
26.10.2001, 20:43
Cool.. hat 1a gefuntzt.. vielen dank :)
Ich nutze das vb 2.0.3 und da funzt das irgendwie nicht so prächtig *g*
wenn ich das eingebe so wie du es schilderst, passiert folgendes:
ganz oben erscheint eine zeile, in der die namen stehen die online waren (eben nicht unten)
und unten entstehen 3!!! zeilen, wo dann drin steht: ...online waren...
ein wenig verwundert bin:confused:
@Elyot:
Poste bitte mal die URL zu Deinem Board.
mfg Znaper
Moin..
klasse Ding, läuft einwandfrei.
http://www.rtl-board.de
Jacky
Elyot´s Board (http://elyot.all4clans.com/board/index.php)
ich habe es nun ein paar mal ausprobiert, weil ich die vermutung hatte, das ich es vielleicht falsch eingesetzt habe. aber das ist nicht der fall.
Afterburner
27.10.2001, 18:40
Original geschrieben von Elyot
Elyot´s Board (http://elyot.all4clans.com/board/index.php)
ich habe es nun ein paar mal ausprobiert, weil ich die vermutung hatte, das ich es vielleicht falsch eingesetzt habe. aber das ist nicht der fall.
denke mal schon das du da was falsch eingesetzt hast, hatte ja vorhin nochmal nachgefragt über ICQ aber da warst du auf einmal weg.
was könnte ich denn falsch gemacht haben?
mir ist auch noch aufgefallen, das die member die dann da waren, in den zeilen nicht gespeichert sind
@afterburner
sorry
so sieht jetzt ein teil meiner index aus:
$DB_site->free_result($loggedins);
$dateheute=date("d-m-Y");
$usersheute=$DB_site->query("SELECT username, userid FROM user WHERE FROM_UNIXTIME(lastactivity,'%d-%m-%Y') = '$dateheute' ORDER BY username");
while ($userheute=$DB_site->fetch_array($usersheute)) {
if ($heuteonline) {
$heuteonline.=", ";
}
$heuteonline.="<a href=\"member.php?s=$session[sessionhash]&action=getinfo&userid=$userheute[userid]\">$userheute[username]</a>";
}
$totalonline=$numberregistered+$numberguest;
$numberinvisible=$numberregistered-$numbervisible;
$maxusers=explode(" ", gettemplate('maxloggedin',0,0));
if ((int)$maxusers[0] <= $totalonline) {
$time = time();
$maxloggedin = "$totalonline " . $time;
$DB_site->query("UPDATE template SET template='$maxloggedin' WHERE title='maxloggedin'");
$maxusers[0] = $totalonline;
$maxusers[1] = $time;
}
$recordusers = $maxusers[0];
$recorddate = vbdate($dateformat,$maxusers[1]);
$recordtime = vbdate($timeformat,$maxusers[1]);
eval("\$loggedinusers = \"".gettemplate('forumhome_loggedinusers')."\";");
}
und so das template:
<a href="member.php?s=$session[sessionhash]&action=getinfo&userid=$userid">$username</a>$invisibleuser
<tr>
@Elyot:
http://www.znapers-board.de/fotos/elyot.jpg
Jetzt schlägts aber 13 oder, setzt einfach dein Copyright unter meinem Hack!
Änder dies sofort ab in das Originalcopyright von AA und mir, oder es gibt Ärger! :mad: :mad:
mfg Znaper
sorry Znapper, bitte siehe PM!!!
Das wurde in Ordnung gebracht
Sind wir beiden jetzt wieder im reinen, Znaper?
Original geschrieben von Elyot
Sind wir beiden jetzt wieder im reinen, Znaper?
jup sind wir! ;)
Die neu Meldung, wenn man die Statistik aufruft is aber auch net schlecht! :D
Parse error: parse error in /home/elyot/www/board/statistik.php on line 76
Du hast irgendwas im Skript verändert, dass nicht hätte sein sollen.
mfg Znaper
Original geschrieben von Znaper
jup sind wir! ;)
mfg Znaper
Da bin ich aber verdammt froh!!!
Ich habe die Datei mit der aus deinem Board verglichen und zwei Zeilen ausgetauscht. Einmal ganz oben. Ist allerding nur ein Kommentar. Kann also der Fehler nicht sein und dann noch ganz unten die Zeile, wo das mit der Einblendung steht. Also: Statistik by Znaper etc.
Ich werde die Datei noch mal komplett neu machen. Ansonsten weiß ich auch nicht weiter :(
Darf ich denn noch mal nach dem anderen Prob fragen? Mit dem: Wer war da???
Ich habe dich per ICQ geaddet, vielleicht ist das einfacher.
McDuerer
08.11.2001, 13:09
Hallo,
diese Erweiterung für vBulletin ist echt cool geworden und hilft sicherlich noch mehr den Communitycharakter zu fördern.
Ist es event. möglich das Ganze noch ein wenig auszubohren und anzuzeigen, wieviel registrierte Benutzer und wieviele Gäste heute bereits im Forum waren (ggf. die Summe der beiden).
Vielleicht hat jemand eine Idee, wie man dies einbauen kann.
:) Würde mich freuen :)
Chris
tHe-fOrCEr
15.11.2001, 17:52
Hi Znaper.. wäre nett wenn du das mal für version 2.2 umschreiben könntest .. Vielen Dank :)
jo hat bei mir auch gefunzt suppi sag ich nur !
nur eins noch kann ich auch irgenwie die gesamtanzahl der am heutigen tag anwesenden anzeigen lassen ?
Sollen alle oder nur die heute dagewesenen registrierten Benutzer angezeigt werden?
mfg Znaper
jepp einfach alle die unten in der liste stehen als gesamtanzahl
so hab das jetzt folgendermassen gelösst
in der index.php vor folgendem Code eine neue Zeile hinzufügen
$heuteonline.="<a href=\"member.php?s=$session[sessionhash]&action=getinfo&userid=$userheute[userid]\">$userheute[username]</a>
Diese Zeile davor einfügen
$getheutegesamt=$DB_site->query_first("SELECT COUNT(*) AS heutegesamt FROM user WHERE FROM_UNIXTIME(lastactivity,'%d-%m-%Y') = '$dateheute'");
Im Template forumhome_loggedinusers dann vor dem :
<tr>
<td bgcolor="#FFFFFF" colspan="6"><smallfont>Folgende User waren heute bereits auf dem Board:</smallfont></td></tr>
<tr>
<td bgcolor="#FFFFFF" colspan="6"><smallfont>$heuteonline</smallfont></td></tr>
dies einfügen:
<tr><td bgcolor="{firstaltcolor}" colspan="6"><normalfont color="#FFF788"><b>
Anzahl User die heute bereits auf dem Board waren</b></normalfont></a><normalfont color="#FFF788"><b>: $getheutegesamt[heutegesamt]</b></normalfont></td>
</tr>
Das wars
index.php speichern und wieder hochschieben.
und anschaun
Gruß
BlaXioN
HeHe, nicht schlecht @BlaXioN :rolleyes:
Statt bgcolor="#606096" würde ich bgcolor="{firstaltcolor}" schreiben, denn nicht jeder hat die gleiche Farbe eingestellt.
Bei mir sieht der komplette Hack so aus:<tr id="cat">
<td bgcolor="{categorybackcolor}" colspan="6">
<normalfont color="{categoryfontcolor}">
<b>Anzahl der User, die heute bereits auf dem Board waren</b></normalfont></a>
<normalfont color="{categoryfontcolor}"><b>: $getheutegesamt[heutegesamt]</b></normalfont></td>
</tr>
<tr>
<td bgcolor="{firstaltcolor}" colspan="6"><smallfont>
<nobr>Folgende User waren heute bereits auf dem Board:</nobr><br>
$heuteonline</smallfont></td>
</tr>Gruß,
Mystics
Hi Mystics du nun auch hier ;)
Danke nochmal für deine Hilfe !
Mystics<- ist echt Fit !!!
eins habh ich noch !
würde nun gerne noch sowas einbauen alla "Am meisten Besucher waren am Datum Online=Gesamtanzahl von einem tag
Müsste doch auch möglich sein !
jemand nen vorschlag ?
kurze frage wieso werden variablen direkt umgewandelt in den farbcode der hier gültig wäre ?
firstaltcolor =#F1F1F1 bei euch
BlaXioN Tja, so ist das nun mal. Innerhalb eines php Tags wird es nicht umgewandelt: Test (http://www.vbulletin-germany.com/forum/showthread.php?s=&postid=3186#post3186)
ah!
Jetzt weiss ich auch, was BlaXioN mit seiner Frage gemeint hat... :D
Was anderes:
Ich hätte gerne, das nur Admins diese Anzeige sehen.
Ist das schwierig?
Sascha
Original geschrieben von pogo
BlaXioN Tja, so ist das nun mal. Innerhalb eines php Tags wird es nicht umgewandelt: Test (http://www.vbulletin-germany.com/forum/showthread.php?s=&postid=3186#post3186) Innerhalb eines Code-Tags kann man das aber auch umgehen, siehe mein editierter Beitrag oben :rolleyes:
mmh ich dachte das die kombi aus CODE und PHP es bringen würde ;) naja egal was is mit meinem prob bekommt das noch jemdan hin ?
dann machen wir ihn komplett und machen ein gemeinschafts hack draus ;)
@BlaXioN
Habe nun die Ergänzungen, die du haben wolltest, fertig:
Man sieht nun auch die Anzahl der User, die insgesamt an einem Tag online waren, und nicht nur die User, die an einem Tag gleichzeitg online waren.
Öffne die Datei admin\functions.php
Suche darin die Zeichenfolge:".iif ($loadmaxusers,"OR (title = 'maxloggedin')","")."und füge darunter folgende Zeile ein:".iif ($loadmaxusersperday,"OR (title = 'maxloggedinperday')","")."
Öffne die Datei index.php und suche folgende Zeile:$heuteonline.="<a href=\"member.php?s=$session[sessionhash]&action=getinfo&userid=$userheute[userid]\">$userheute[username]</a>";und füge darüber folgenden Code ein:$heutegesamt++;Suche darin außerdem die Zeichenfolge:$recordtime = vbdate($timeformat,$maxusers[1]);und füge darunter den folgenden Code ein:// Start Get Most Users online per Day
$maxusersperday=explode(" ", gettemplate('maxloggedinperday',0,0));
if ((int)$maxusersperday[0] <= $heutegesamt) {
$time = time();
$maxloggedinperday = "$heutegesamt " . $time;
$DB_site->query("UPDATE template SET template='$maxloggedinperday' WHERE title='maxloggedinperday'");
$maxusersperday[0] = $heutegesamt;
$maxusersperday[1] = $time;
}
$recordperdayusers = $maxusersperday[0];
$recordperdaydate = vbdate($dateformat,$maxusersperday[1]);
// End Get Most Users online per Day
Das Template forumhome_loggedinusers ergänzt man mit dem folgenden Code (Ich poste den kompletten Hack für dieses Template, nicht nur meine Ergänzung!):<tr id="cat">
<td bgcolor="{categorybackcolor}" colspan="6">
<normalfont color="{categoryfontcolor}"><b>
Anzahl der User, die heute bereits auf dem Board waren:</b>
</normalfont></a><normalfont color="{categoryfontcolor}">
<b>$heutegesamt</b></normalfont>
</td>
</tr>
<tr>
<td bgcolor="{firstaltcolor}" colspan="6"><smallfont><nobr>
Folgende User waren heute bereits auf dem Board:</nobr><br>
$heuteonline<br>
<nobr>Mit $recordperdayusers Benutzern waren am $recordperdaydate
die meisten Benutzer an einem Tag online.</nobr></smallfont></td>
</tr>Zum Schluß muss man noch ein neues Template namens maxloggedinperday erstellen, aber nicht über das Admin-Control-Panel sondern direkt in der Datenbank, z.B. mit phpMyAdmin, denn die Templatesetid muss auf -2 gesetzt werden.
Zu verwendende Werte in den Textfeldern beim Erzeugen eines neuen Templates:
templateid: Leer lassen
templatesetid: -2
title: maxloggedinperday
template: Den Inhalt vom Template maxloggedin übernehmen
So, jetzt muss man nur noch die beiden veränderten PHP-Dateien auf den Server uploaden.
Das war's :p
Viel Erfolg beim Einbau, und falls jemand Probleme hat, mail me oder antwortet auf diesen Beitrag.
Gruß,
Mystics
oh da biste abern dollen weg gegangen ;)
Original geschrieben von BlaXioN
oh da biste abern dollen weg gegangen ;) Wie meinst du das? Gibt's nen einfacheren Weg?
In meiner Hack-Anpassung gab's noch nen kleinen Bug, nämlich wurde täglich der Rekord der User, die insgesamt an einem Tag online waren, zurückgesetzt.
Durch ein paar Änderungen behebt man diesen Bug:
In index.php
Ganz am Anfang nach der Zeile suchen:$loadmaxusers=1;Darunter diese Zeile einfügen:$loadmaxusersperday=1;In admin\functions.php
Suche diese Zeile:global $templatecache,$DB_site,$templatesetid,$loadmaxusers,$loadbirthdays;und ersetze sie durch diese:global $templatecache,$DB_site,$templatesetid,$loadmaxusers,$loadmaxusersperday,$loadbirthdays;
Gruß,
Mystics
Jokerman
06.12.2001, 06:53
BIG THX Für den hack funzt super ;)
na das denk ich doch ;)
jepp bug is nu wech !
User, die "unsichtbar" im Forum unterwegs sind, werden in dieser Liste aber auch aufgeführt.
Ist ja nicht so im Sinne des users, oder?
Sascha
ich habe mir auch sowas ähnliches gestrickt und da werden die invisibleuser nur den admins, mit einem '*' angezeigt.
desweiteren sieht man beim überfahren eines usernamens mit der maus, die zeit wann der user an diesem tag zuletzt aktiv war. ;)
vielleicht könnt ihr ja damit was anfangen. :)
also, zuerst benögt ihr zwei custom-templates.
custom-template 1: forumhome_todayloggedinusers<hr size="1" noshade>
Diese $todayonline Mitglieder waren heute schon auf dem Board unterwegs.<br>
$todayloggedinuser<br>
Mit $todayrecordusers Mitgliedern waren $todayrecorddate die meisten registrierten Mitglieder im Board unterwegs.custom-template 2: forumhome_todayloggedinuser<a href="member.php?s=$session[sessionhash]&action=getinfo&userid=$userid" title="Zuletzt online um $lastactivetime Uhr">$username</a>$invisibleusernun sucht ihr in der datei 'index.php', im root-verzeichnis, nach diesem code: if ((int)$maxusers[0] <= $totalonline) {
$time = time();
$maxloggedin = "$totalonline " . $time;
$DB_site->query("UPDATE template SET template='$maxloggedin' WHERE title='maxloggedin'");
$maxusers[0] = $totalonline;
$maxusers[1] = $time;
}und ersetzt ihn durch diesen hier:[php]// today online hack begin
if ((int)$maxusers[0] <= $totalonline) {
$time = time();
$maxloggedin = "$totalonline " . $time . " " . $maxusers[2] . " " . $maxusers[3];
$DB_site->query("UPDATE template SET template='$maxloggedin' WHERE title='maxloggedin'");
$maxusers[0] = $totalonline;
$maxusers[1] = $time;
}
$todayloggedinusers = "";
$numbertodayonline = 0;
$todayusers=$DB_site->query("SELECT userid, username, usergroupid, lastactivity, invisible FROM user
@Znaper:
Bei mir funzelt die erste Modifikation erst gar nicht.
(Kann es sein, daß es im forumhome_loggedinusers stehen muß?? Ich habe es nämlich in dem online - Template eingebaut.... )
Okay. Hat sich erledigt .... (ich bin wirklich kein Postingschinder !!! :D )
Ich habe den Hack in der online.php mit eingebaut und zwar vor dem jmpsel
Ohne das Thema genau verfolgt zu haben, erlaube ich mir einen kleinen Kommentar.
Man muss immer gucken, in welcher php Datei bestimmte Variablen stehen, die man dann in einem Template benutzen will.
Wird das Template nicht auch in derselben Datei eingelesen, sind die Variablen nicht verfügbar.
Chris Auf Deinen Fall bezogen sehe ich das so. Du hast index.php verändert. Nun baust Du die Variablen in ein Template ein, dass von online.php eingelesen wird. Du siehst, das kann nicht gehen.
Das macht die Geschichte natürlich transparenter. (Jetzt ist mir auch klar, daß einige Sachen nicht funktionieren.) ... Naja, ich habe mein PHP-Lehrgang auch erst nächste Woche ... :D
(Das nur mal am Rande)
Danke, Pogo :)
Danke @genial
Dein Hack funktioniert super, gab keine Probleme beim Einbau!
Gruß,
Mystics
danke für die blumen. :)
grade ist mir noch aufgefallen, daß die 0-wert zuweisung für die variable $numbertodayonlineinvisible fehlt, das ist zwar nicht weiter dragisch, aber trotzdem sollte die initialisierung oben so aussehen:$todayloggedinusers = "";
$numbertodayonline = 0;
$numbertodayonlineinvisible = 0;
ist es eigentlich auch möglich, dass dort admins in Bold und Italic, und Mods in Bold hervorgehoben werden?
@vBFreak
Bei dem Hack von genial (im wahrsten Sinne des Wortes :p) ist das schon standardmäßig so!
Gruß,
Mystics
heute habe ich einen kleinen bug, bei der anzeige der meisten benutzer eines tages für die mitglieder, in meinem code oben festgestellt.
um diesen bug zu fixen, ersetzt bitte folgende zeile:$maxusers[2] = $todayonline;durch diese hier:$maxusers[2] = $numbertodayonline;leider kann ich den obigen code nicht fixen, da man hier aus irgendwelchen gründen, eine zeitbegrenzung für die beitragsänderung aktiviert hat. :confused:
bei mir im Board werden die Heutigen benutzer (Diese xx Mitglieder waren heute schon auf dem Board unterwegs:) nicht am seitenrand umgebrochen, warum? Demo: http://www.fanwerk.com/vbb2
Ich suche schon verzweifelt danach.
Original geschrieben von Tarion
bei mir im Board werden die Heutigen benutzer (Diese xx Mitglieder waren heute schon auf dem Board unterwegs:) nicht am seitenrand umgebrochen, warum?wahrscheinlich ist da irgendwo entweder ein <nobr> zuviel, ein </nobr> zu wenig oder im zellen-tag <td> steht nowrap (<td nowrap>) drin.
McDuerer
04.02.2002, 11:58
Hallo,
hat jemand vielleicht eine Idee, wie man das Hack um die Gesamtzahl der Besucher an einem Tag erweitern kann?
Das würde dann z.B. so aussehen:
Es sind gerade 1 registrierte(r) Benutzer und 5 Besucher im Board unterwegs.
Folgende User waren heute bereits im Forum:
Ben, Casimir, Christian, Horschd, Pascal, Petra Lohse und 55 Gäste!
Ich habe bei uns festgestellt, dass meistens mehr Gäste als registrierte User im Forum sind!
Freue mich auf die Antworten!:)
Christian
das ist nicht so einfach zu bewerkstelligen, aber das ist aber in arbeit.
wird aber mangels freizeit zur zeit, noch etwas dauern. ;)
ist es möglich, das jemand den hack jetzt noch mal zusammen fasst?
mit allen bug kills und so
also mit user anzeige
anzahl
record anzahl / an welchem tag
und invisible users?
das wäre schön ... weil so blickt man ja gar nicht mehr durch
thx im vorraus!!!
Original geschrieben von ChEopS
ist es möglich, das jemand den hack jetzt noch mal zusammen fasst? Hier:
Who was online today [available in english & german] (http://www.vbulletin.org/forum/showthread.php?s=&threadid=34014)
Mystics
ja danke ... aba ich hab da kein acc drauf :|
Du musst hier deinen vBulletin.org Benutzernamen eingeben:
http://www.vbulletin.com/members/vbulletin.org.php
Mystics
Original geschrieben von McDuerer
Hallo,
hat jemand vielleicht eine Idee, wie man das Hack um die Gesamtzahl der Besucher an einem Tag erweitern kann?
Das würde dann z.B. so aussehen:
Es sind gerade 1 registrierte(r) Benutzer und 5 Besucher im Board unterwegs.
Folgende User waren heute bereits im Forum:
Ben, Casimir, Christian, Horschd, Pascal, Petra Lohse und 55 Gäste!
Ich habe bei uns festgestellt, dass meistens mehr Gäste als registrierte User im Forum sind!
Freue mich auf die Antworten!:)
Christian
Hat sich in dieser Richtung schon was getan ?
vBulletin® v3.7.2, Copyright ©2000-2008, Jelsoft Enterprises Ltd.