PDA

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.

Znaper
26.10.2001, 18:40
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 :)

Elyot
27.10.2001, 14:24
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:

Znaper
27.10.2001, 15:21
@Elyot:

Poste bitte mal die URL zu Deinem Board.


mfg Znaper

Jack
27.10.2001, 17:51
Moin..

klasse Ding, läuft einwandfrei.

http://www.rtl-board.de

Jacky

Elyot
27.10.2001, 17:53
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.

Elyot
27.10.2001, 19:08
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>

Znaper
27.10.2001, 19:12
@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

Elyot
27.10.2001, 19:19
sorry Znapper, bitte siehe PM!!!

Das wurde in Ordnung gebracht

Elyot
28.10.2001, 13:06
Sind wir beiden jetzt wieder im reinen, Znaper?

Znaper
28.10.2001, 13:53
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

Elyot
28.10.2001, 14:13
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 :)

BlaXioN
20.11.2001, 21:03
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 ?

Znaper
20.11.2001, 22:46
Sollen alle oder nur die heute dagewesenen registrierten Benutzer angezeigt werden?


mfg Znaper

BlaXioN
21.11.2001, 11:06
jepp einfach alle die unten in der liste stehen als gesamtanzahl

BlaXioN
21.11.2001, 12:14
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

Mystics
21.11.2001, 22:40
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

BlaXioN
22.11.2001, 11:21
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 ?

BlaXioN
22.11.2001, 11:28
kurze frage wieso werden variablen direkt umgewandelt in den farbcode der hier gültig wäre ?

firstaltcolor =#F1F1F1 bei euch

pogo
22.11.2001, 12:57
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)

Sascha.
22.11.2001, 13:00
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

Mystics
22.11.2001, 13:01
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:

BlaXioN
22.11.2001, 21:02
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 ;)

Mystics
22.11.2001, 23:52
@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

BlaXioN
23.11.2001, 13:58
oh da biste abern dollen weg gegangen ;)

Mystics
23.11.2001, 15:28
Original geschrieben von BlaXioN
oh da biste abern dollen weg gegangen ;) Wie meinst du das? Gibt's nen einfacheren Weg?

Mystics
28.11.2001, 22:41
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 ;)

BlaXioN
06.12.2001, 11:26
na das denk ich doch ;)


jepp bug is nu wech !

Sascha.
10.12.2001, 00:09
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

genial
11.12.2001, 11:57
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

Chris
12.12.2001, 12:15
@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.... )

Chris
12.12.2001, 12:24
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

pogo
12.12.2001, 12:28
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.

Chris
12.12.2001, 12:45
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 :)

Mystics
15.12.2001, 17:24
Danke @genial
Dein Hack funktioniert super, gab keine Probleme beim Einbau!

Gruß,
Mystics

genial
15.12.2001, 17:43
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;

vBFreak
20.12.2001, 18:15
ist es eigentlich auch möglich, dass dort admins in Bold und Italic, und Mods in Bold hervorgehoben werden?

Mystics
20.12.2001, 18:25
@vBFreak

Bei dem Hack von genial (im wahrsten Sinne des Wortes :p) ist das schon standardmäßig so!

Gruß,
Mystics

genial
13.01.2002, 01:04
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:

Tarion
14.01.2002, 13:40
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.

genial
14.01.2002, 14:05
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.

Tarion
14.01.2002, 14:08
danke werd mal suchen :)

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

genial
04.02.2002, 15:35
das ist nicht so einfach zu bewerkstelligen, aber das ist aber in arbeit.
wird aber mangels freizeit zur zeit, noch etwas dauern. ;)

ChEopS
06.06.2002, 15:30
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!!!

Mystics
06.06.2002, 16:03
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

ChEopS
06.06.2002, 16:16
ja danke ... aba ich hab da kein acc drauf :|

Mystics
06.06.2002, 16:39
Du musst hier deinen vBulletin.org Benutzernamen eingeben:

http://www.vbulletin.com/members/vbulletin.org.php

Mystics

Maddrax
08.06.2002, 12:26
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 ?