Zeitzonen-Problem |
admin77
Mitglied
Dabei seit: 24.01.06
Beiträge: 69
Forenversion: 2.3
|
|
Hallo liebe Gemeinde,
habe ein hack für mein wbb-board (wer war da hack) eingebaut,
da der server in malaysia ist geht der hack irgendwie verkehrt,
nun habe ich es hinbekommen,daß wenigstens die zeit richtig dargestellt wird,da vorher die zeit von malaysia dargestellt wurde, jedoch ist die zeitumstellung für den neuen tag falsch.
Der Tag beginnt natürlich um 0:00 Uhr und dann erstellt der hack eine Liste wer an diesem tag online war und um welche Uhrzeit.
Aber wenn es bei uns 0:00 Uhr ist wird die Liste nicht neu erstellt,sprich es beginnt somit kein neuer Tag,dies geschieht erst um 18:00 Uhr unserer Zeit,
dann ist es in malaysia genau 0:00 Uhr.
Ich hoffe,daß mir jemand helfen kann um den schönheitsfehler zu behben,da etliche versuche auf irgendwelchen board nichts gebracht haben und ich das gefühl habe,daß man dazu ein php-experte sein muß.
wäre irgendwie cool,wenn man alles auf MEZ umstellen könnte,
ich selbst weiß leider nicht wie.
Hier ist der Code-Schnipsel nur des Wer war da-hacks aus der index.php,kann man da was machen,reicht das aus oder muß man da was anderes ändern?:
php: |
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:
|
if ($showuservisited == 1) {
$membercount = 0;
$invisiblecount = 0;
$curdate = strftime("%m %d %Y",time());
$date = explode(" ", $curdate);
$timestamp = mktime(0,0,0,$date[0],$date[1],$date[2]);
unset($online);
$online = &new useronline($wbbuserdata['a_can_view_ghosts'], $wbbuserdata['buddylist']);
$result = $db->unbuffered_query("SELECT u.userid, u.username, u.invisible, u.useronlinegroupid, u.lastactivity, g.useronlinemarking FROM bb".$n."_users u, bb".$n."_groups g WHERE u.useronlinegroupid=g.groupid AND u.lastactivity>=".$timestamp." ORDER BY u.username ASC");
while ($row = $db->fetch_array($result)) {
if ($row['userid'] == 0) continue;$row['lastactivity'] = $row['lastactivity'] + (3600 * 18);
$membercount++;
if ($row['invisible'] == 1) $invisiblecount++;
$online->user($row['userid'], htmlconverter($row['username']), $row['useronlinemarking'], $row['invisible'], true);
}
$uservisited = $online->useronlinebit;
$totaluservisited = $membercount;
if ($totaluservisited > $rekord_visited) {
$rekord_visited = $totaluservisited;
$rekordtime_visited = time();
$db->unbuffered_query("UPDATE bb".$n."_options SET value='$rekord_visited' WHERE varname='rekord_visited'", 1);
$db->unbuffered_query("UPDATE bb".$n."_options SET value='$rekordtime_visited' WHERE varname='rekordtime_visited'", 1);
require("./acp/lib/class_options.php");
$option = &new options("acp/lib");
$option->write();
}
$rekorddate_visited = formatdate($wbbuserdata['dateformat'], $rekordtime_visited);
$rekordtime_visited = formatdate($wbbuserdata['timeformat'], $rekordtime_visited);
// format figures
if ($totaluservisited >= 1000) $totaluservisited = number_format($totaluservisited, 0, "", $lang->get("LANG_GLOBAL_THOUSANDS_SEP"));
if ($invisiblecount >= 1000) $invisiblecount = number_format($invisiblecount, 0, "", $lang->get("LANG_GLOBAL_THOUSANDS_SEP"));
if ($rekord_visited >= 1000) $rekord_visited = number_format($rekord_visited, 0, "", $lang->get("LANG_GLOBAL_THOUSANDS_SEP"));
if ($totaluservisited == 1) {
$uservisited_BE = $lang->items['LANG_START_USERVISITED_BE_ONE'];
$uservisited_USER = $lang->items['LANG_START_USERVISITED_USER_ONE'];
}
else {
$uservisited_BE = $lang->items['LANG_START_USERVISITED_BE'];
$uservisited_USER = $lang->items['LANG_START_USERVISITED_USER'];
}
if ($membercount == 1) $uservisited_MEMBERS = $lang->items['LANG_START_USERONLINE_MEMBERS_ONE'];
elseif ($membercount > 1) $uservisited_MEMBERS = $lang->items['LANG_START_USERONLINE_MEMBERS'];
else {
$uservisited_MEMBERS = '';
$membercount = '';
}
if ($invisiblecount == 1) $uservisited_GHOSTS = $lang->items['LANG_START_USERONLINE_GHOSTS_ONE'];
elseif ($invisiblecount > 1) $uservisited_GHOSTS = $lang->get("LANG_START_USERONLINE_GHOSTS", array('$invisiblecount' => $invisiblecount));
else $uservisited_GHOSTS = '';
$lang->items['LANG_START_USERVISITED'] = $lang->get("LANG_START_USERVISITED", array('$uservisited_BE' => $uservisited_BE, '$membercount_visited' => $membercount, '$uservisited_MEMBERS' => $uservisited_MEMBERS, '$uservisited_GHOSTS' => $uservisited_GHOSTS, '$uservisited_AND' => $uservisited_AND, '$rekord_visited' => $rekord_visited, '$uservisited_USER' => $uservisited_USER, '$rekorddate_visited' => $rekorddate_visited, '$rekordtime_visited' => $rekordtime_visited));
$lang->items['LANG_START_SHOWUSERVISITED'] = $lang->get("LANG_START_SHOWUSERVISITED", array('$uservisited_BE' => $uservisited_BE, '$totaluservisited' => $totaluservisited, '$uservisited_USER' => $uservisited_USER));
} |
|
Ich wäre echt dankbar,wenn man mir weiterhelfen könnte.
MfG
Pablo
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von admin77: 01.07.07 00:23.
|
|
01.07.07 00:22 |
E-Mail
Finden
Als Freund hinzufügen
|
|
[kamui]
~
Dabei seit: 27.04.05
Beiträge: 2.992
|
|
Versetehe ich dich richtig? Malaysische Zeit - 18h = unsere Zeit?
Dann versuch es mal mit folgendem Code anstatt deinem:
php: |
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:
|
if ($showuservisited == 1) {
$membercount = 0;
$invisiblecount = 0;
$time = floor(time()-(18*60*60));
$curdate = strftime("%m %d %Y",$time);
$date = explode(" ", $curdate);
$timestamp = mktime(0,0,0,$date[0],$date[1],$date[2]);
unset($online);
$online = &new useronline($wbbuserdata['a_can_view_ghosts'], $wbbuserdata['buddylist']);
$result = $db->unbuffered_query("SELECT u.userid, u.username, u.invisible, u.useronlinegroupid, u.lastactivity, g.useronlinemarking FROM bb".$n."_users u, bb".$n."_groups g WHERE u.useronlinegroupid=g.groupid AND u.lastactivity>=".$timestamp." ORDER BY u.username ASC");
while ($row = $db->fetch_array($result)) {
if ($row['userid'] == 0) continue;$row['lastactivity'] = $row['lastactivity'] + (3600 * 18);
$membercount++;
if ($row['invisible'] == 1) $invisiblecount++;
$online->user($row['userid'], htmlconverter($row['username']), $row['useronlinemarking'], $row['invisible'], true);
}
$uservisited = $online->useronlinebit;
$totaluservisited = $membercount;
if ($totaluservisited > $rekord_visited) {
$rekord_visited = $totaluservisited;
$rekordtime_visited = time();
$db->unbuffered_query("UPDATE bb".$n."_options SET value='$rekord_visited' WHERE varname='rekord_visited'", 1);
$db->unbuffered_query("UPDATE bb".$n."_options SET value='$rekordtime_visited' WHERE varname='rekordtime_visited'", 1);
require("./acp/lib/class_options.php");
$option = &new options("acp/lib");
$option->write();
}
$rekorddate_visited = formatdate($wbbuserdata['dateformat'], $rekordtime_visited);
$rekordtime_visited = formatdate($wbbuserdata['timeformat'], $rekordtime_visited);
// format figures
if ($totaluservisited >= 1000) $totaluservisited = number_format($totaluservisited, 0, "", $lang->get("LANG_GLOBAL_THOUSANDS_SEP"));
if ($invisiblecount >= 1000) $invisiblecount = number_format($invisiblecount, 0, "", $lang->get("LANG_GLOBAL_THOUSANDS_SEP"));
if ($rekord_visited >= 1000) $rekord_visited = number_format($rekord_visited, 0, "", $lang->get("LANG_GLOBAL_THOUSANDS_SEP"));
if ($totaluservisited == 1) {
$uservisited_BE = $lang->items['LANG_START_USERVISITED_BE_ONE'];
$uservisited_USER = $lang->items['LANG_START_USERVISITED_USER_ONE'];
}
else {
$uservisited_BE = $lang->items['LANG_START_USERVISITED_BE'];
$uservisited_USER = $lang->items['LANG_START_USERVISITED_USER'];
}
if ($membercount == 1) $uservisited_MEMBERS = $lang->items['LANG_START_USERONLINE_MEMBERS_ONE'];
elseif ($membercount > 1) $uservisited_MEMBERS = $lang->items['LANG_START_USERONLINE_MEMBERS'];
else {
$uservisited_MEMBERS = '';
$membercount = '';
}
if ($invisiblecount == 1) $uservisited_GHOSTS = $lang->items['LANG_START_USERONLINE_GHOSTS_ONE'];
elseif ($invisiblecount > 1) $uservisited_GHOSTS = $lang->get("LANG_START_USERONLINE_GHOSTS", array('$invisiblecount' => $invisiblecount));
else $uservisited_GHOSTS = '';
$lang->items['LANG_START_USERVISITED'] = $lang->get("LANG_START_USERVISITED", array('$uservisited_BE' => $uservisited_BE, '$membercount_visited' => $membercount, '$uservisited_MEMBERS' => $uservisited_MEMBERS, '$uservisited_GHOSTS' => $uservisited_GHOSTS, '$uservisited_AND' => $uservisited_AND, '$rekord_visited' => $rekord_visited, '$uservisited_USER' => $uservisited_USER, '$rekorddate_visited' => $rekorddate_visited, '$rekordtime_visited' => $rekordtime_visited));
$lang->items['LANG_START_SHOWUSERVISITED'] = $lang->get("LANG_START_SHOWUSERVISITED", array('$uservisited_BE' => $uservisited_BE, '$totaluservisited' => $totaluservisited, '$uservisited_USER' => $uservisited_USER));
} |
|
|
|
01.07.07 10:57 |
Finden
Als Freund hinzufügen
|
|
admin77
Mitglied
Dabei seit: 24.01.06
Beiträge: 69
Forenversion: 2.3
Themenstarter
|
|
Die malaysische Zeit geht 6 Stunden vor,
Wenn bei uns 18:00 ist,so ist es in Malaysia 0:00 Uhr und ein neuer Tag bricht ein,daher die neue Liste im wer war da hack.
Mithin sind wir 6 Stunden zurück,siehe dir meinen code an,
die zeit geht dann richtig aber der hack richtet sich,auch wenn die zeit richtig angezeigt wird,an die malaysische zeit,so daß um 18:00 unserer zeit und der zeit aufm Board,was ja eingestellt worden ist,siehe code,ein neue Tag einbricht,
obwohl wir noch 6 Stunden hätten.
|
|
01.07.07 22:11 |
E-Mail
Finden
Als Freund hinzufügen
|
|
[kamui]
~
Dabei seit: 27.04.05
Beiträge: 2.992
|
|
php: |
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:
|
if ($showuservisited == 1) {
$membercount = 0;
$invisiblecount = 0;
$time = floor(time()-(6*60*60));
$curdate = strftime("%m %d %Y",$time);
$date = explode(" ", $curdate);
$timestamp = mktime(0,0,0,$date[0],$date[1],$date[2]);
unset($online);
$online = &new useronline($wbbuserdata['a_can_view_ghosts'], $wbbuserdata['buddylist']);
$result = $db->unbuffered_query("SELECT u.userid, u.username, u.invisible, u.useronlinegroupid, u.lastactivity, g.useronlinemarking FROM bb".$n."_users u, bb".$n."_groups g WHERE u.useronlinegroupid=g.groupid AND u.lastactivity>=".$timestamp." ORDER BY u.username ASC");
while ($row = $db->fetch_array($result)) {
if ($row['userid'] == 0) continue;$row['lastactivity'] = $row['lastactivity'] + (3600 * 18);
$membercount++;
if ($row['invisible'] == 1) $invisiblecount++;
$online->user($row['userid'], htmlconverter($row['username']), $row['useronlinemarking'], $row['invisible'], true);
}
$uservisited = $online->useronlinebit;
$totaluservisited = $membercount;
if ($totaluservisited > $rekord_visited) {
$rekord_visited = $totaluservisited;
$rekordtime_visited = time();
$db->unbuffered_query("UPDATE bb".$n."_options SET value='$rekord_visited' WHERE varname='rekord_visited'", 1);
$db->unbuffered_query("UPDATE bb".$n."_options SET value='$rekordtime_visited' WHERE varname='rekordtime_visited'", 1);
require("./acp/lib/class_options.php");
$option = &new options("acp/lib");
$option->write();
}
$rekorddate_visited = formatdate($wbbuserdata['dateformat'], $rekordtime_visited);
$rekordtime_visited = formatdate($wbbuserdata['timeformat'], $rekordtime_visited);
// format figures
if ($totaluservisited >= 1000) $totaluservisited = number_format($totaluservisited, 0, "", $lang->get("LANG_GLOBAL_THOUSANDS_SEP"));
if ($invisiblecount >= 1000) $invisiblecount = number_format($invisiblecount, 0, "", $lang->get("LANG_GLOBAL_THOUSANDS_SEP"));
if ($rekord_visited >= 1000) $rekord_visited = number_format($rekord_visited, 0, "", $lang->get("LANG_GLOBAL_THOUSANDS_SEP"));
if ($totaluservisited == 1) {
$uservisited_BE = $lang->items['LANG_START_USERVISITED_BE_ONE'];
$uservisited_USER = $lang->items['LANG_START_USERVISITED_USER_ONE'];
}
else {
$uservisited_BE = $lang->items['LANG_START_USERVISITED_BE'];
$uservisited_USER = $lang->items['LANG_START_USERVISITED_USER'];
}
if ($membercount == 1) $uservisited_MEMBERS = $lang->items['LANG_START_USERONLINE_MEMBERS_ONE'];
elseif ($membercount > 1) $uservisited_MEMBERS = $lang->items['LANG_START_USERONLINE_MEMBERS'];
else {
$uservisited_MEMBERS = '';
$membercount = '';
}
if ($invisiblecount == 1) $uservisited_GHOSTS = $lang->items['LANG_START_USERONLINE_GHOSTS_ONE'];
elseif ($invisiblecount > 1) $uservisited_GHOSTS = $lang->get("LANG_START_USERONLINE_GHOSTS", array('$invisiblecount' => $invisiblecount));
else $uservisited_GHOSTS = '';
$lang->items['LANG_START_USERVISITED'] = $lang->get("LANG_START_USERVISITED", array('$uservisited_BE' => $uservisited_BE, '$membercount_visited' => $membercount, '$uservisited_MEMBERS' => $uservisited_MEMBERS, '$uservisited_GHOSTS' => $uservisited_GHOSTS, '$uservisited_AND' => $uservisited_AND, '$rekord_visited' => $rekord_visited, '$uservisited_USER' => $uservisited_USER, '$rekorddate_visited' => $rekorddate_visited, '$rekordtime_visited' => $rekordtime_visited));
$lang->items['LANG_START_SHOWUSERVISITED'] = $lang->get("LANG_START_SHOWUSERVISITED", array('$uservisited_BE' => $uservisited_BE, '$totaluservisited' => $totaluservisited, '$uservisited_USER' => $uservisited_USER));
} |
|
Probier es mal so
|
|
02.07.07 13:42 |
Finden
Als Freund hinzufügen
|
|
[kamui]
~
Dabei seit: 27.04.05
Beiträge: 2.992
|
|
php: |
1:
2:
|
$time = floor(time()-(6*60*60));
$curdate = strftime("%m %d %Y",$time); |
|
Damit nehme ich die Serverzeit ( time() ) und reduziere die um 6 Stunden ( in Sekunden wird das gemessen
)
|
|
02.07.07 15:05 |
Finden
Als Freund hinzufügen
|
|
admin77
Mitglied
Dabei seit: 24.01.06
Beiträge: 69
Forenversion: 2.3
Themenstarter
|
|
Zitat: |
Ich habe nur gefragt,weil das keine Änderung gebracht hat,
ich meine,daß die Liste des wer war da hacks sich nicht geändert hat (Leere Liste ab 0:00 Uhr),
ich warte mal bis 18:00 Uhr ab,
vorher gasbs um die Zeit immer eine neue Liste und spätestens um 0:00
MEZ wird man sehen,ob das was gebracht hat,
ich danke dir für deine mühe.werde mich dann melden.
MfG |
So kurzreport:
Um 18:00 Uhr MEZ wurde schon mal keine neue Liste erzeugt,
das ist schonmal gut.
um 0:00 Uhr MEZ sollte eine neu Liste erstellt werden,wurde auch,aber es wurden nicht nur die user,die sich um 0:00 Uhr und später eingeloggt haben
in der Liste angezeigt sondern alle User die sich seit 18:00 Uhr MEZ des Vortages eingeloggt hatten. (0:00 Malaysischer Zeit)
Hmmmm
Was ist bloß falsch gelaufen
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von admin77: 03.07.07 00:07.
|
|
02.07.07 15:11 |
E-Mail
Finden
Als Freund hinzufügen
|
|
[kamui]
~
Dabei seit: 27.04.05
Beiträge: 2.992
|
|
Ich kann mir am Wochenende den Hack nochmal genauer anschauen, aber jetzt konkret nicht weiterhelfen ... Vielleicht hilft dir ja ein anderer netter Y******-User derweil
|
|
05.07.07 14:00 |
Finden
Als Freund hinzufügen
|
|
admin77
Mitglied
Dabei seit: 24.01.06
Beiträge: 69
Forenversion: 2.3
Themenstarter
|
|
Zitat: |
Original von Stubsnase
Warum ein Server in Malaysia
|
LOL,
ich mache schon nichts illegales,
es geht um die malaysische Küche,Rezepte etc...
ist nur die auch der sprache mächtig sind,
alternativ gibts dieses forum:
http://www.malaysiaforum.de/html/modules...rum.php?forum=8
für deutschsprechende.
Die malaysische Küche ist super lecker,
schau dich im oberen forum mal um,
gibts ne menge interesaantes.
Zu meinem problem:
Die Zeit im wer war da hack spinnt imer noch....
|
|
11.07.07 00:30 |
E-Mail
Finden
Als Freund hinzufügen
|
|
|