Seite 1 von 1
Letzte Besucher für eigenes Portal!
Verfasst: 20.10.2003 19:25
von Aecid
Hallo,
Also, ich hab überall versucht brauchbare Code zu finden, was mir aber nicht gelungen ist.
Mein Problem ist, das ich aus einem Mod (Recent-Posts) eine Portal gebastelt habe, aheb die WIO-Anzeige eingabaut und meine Partner und Toplisten in Blöcke dazugepackt. Seite:
http://anime-cid.de
Allerdings wollte ich noch eine Box mit der Anzeige wer in letzter Zeit alles online war. allerdings nach einem bestimmten Anzeigesyntax. Es sollte ungefähr so aussehen:
Wer war zuletzt online:
[Username]
20.10.2003, 17:05
[Username]
20.10.2003, 11:49
[Username]
19.10.2003, 23:01
...
usw.
allerdings kenn ich mich mit SQL überhaupt nicht aus, weswegen ich dann auch nicht weiß, wie ich es abfragen soll. wie könnte ich das mit einem einfachen Code hinkriegen?
Danke schonmal im Voraus
Verfasst: 20.10.2003 20:52
von ph!L
im phpbbplus gibt es soeinen mod bereits.
der arbeitet bei mir aber ziemlich unzuverlässig
musst du mal auf
http://phpbb2plus.phpbb2.de fragen
Verfasst: 20.10.2003 21:36
von Aecid
hab das Problem beinahe gelöst. Ich habe einfach den Users of the Day-Mod eingebaut und über die Box abgefragt. Das Problem ist leider ncoh das er die Zeit dadrunter anzeigen soll. Hier ist der Code:
Code: Alles auswählen
//
// Users of the day MOD
//
// ############ Edit below ############
// #
$display_not_day_userlist = 0; // change to 1 here if you also want the list of the users who didn't visit to be displayed
$users_list_delay = 24; // change here to the number of hours wanted for the list
// #
// ############ Edit above ############
$sql = "SELECT user_id, username, user_allow_viewonline, user_level, user_session_time
FROM ".USERS_TABLE."
WHERE user_id > 0
ORDER BY user_session_time DESC, username ASC";
if( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not obtain user/day information', '', __LINE__, __FILE__, $sql);
}
$day_userlist = '';
$day_users = 0;
$not_day_userlist = '';
$not_day_users = 0;
while( $row = $db->sql_fetchrow($result) )
{
$style_color = '';
if ( $row['user_level'] == ADMIN )
{
$row['username'] = '<b>' . $row['username'] . '</b>';
$style_color = 'style="color:#' . $theme['fontcolor3'] . '"';
}
else if ( $row['user_level'] == MOD )
{
$row['username'] = '<b>' . $row['username'] . '</b>';
$style_color = 'style="color:#' . $theme['fontcolor2'] . '"';
}
if ( $row['user_allow_viewonline'] )
{
$user_day_link = '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $row['user_id']) . '"' . $style_color .'>' . $row['username'] . '</a>';
}
else
{
$user_day_link = '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $row['user_id']) . '"' . $style_color .'><i>' . $row['username'] . '</i></a>';
}
if ( $row['user_allow_viewonline'] || $userdata['user_level'] == ADMIN )
{
if ( $row['user_session_time'] >= ( time() - $users_list_delay * 3600 ) )
{
$day_userlist .= ( $day_userlist != '' ) ? '<br />' . $user_day_link : $user_day_link;
$day_users++;
}
else
{
$not_day_userlist .= ( $not_day_userlist != '' ) ? '<br>' . $user_day_link : $user_day_link;
$not_day_users++;
}
}
}
$day_userlist = ( ( isset($forum_id) ) ? '' : sprintf($lang['Day_users'], $day_users, $users_list_delay) ) . ' ' . $day_userlist;
$not_day_userlist = ( ( isset($forum_id) ) ? '' : sprintf($lang['Not_day_users'], $not_day_users, $users_list_delay) ) . ' ' . $not_day_userlist;
if ( $display_not_day_userlist )
{
$day_userlist .= '<br />' . $not_day_userlist;
}
//
// End of MOD
//
Ich habe den Code an ein zwie Stellen geädert, dass er es mir richtig anzeigt, aber was muss ich ändern, damit er mir das Datum und die Uhrzeit anzeigt, also:
Aecid
20.10.2003, 20:30
Dane nochmal im Voraus!
Verfasst: 20.10.2003 21:46
von Spidy
hi
hast du mal ein DL link für den MOD bitte.
und schau dir mal den CODE von postnuke an dort gibt es auch diesen MOD oder das Modul vieleicht findest du dort die lösung .
hier mal ne Postnuke seite wo links dieses angezeigt wird
www.der-spooky.de
Verfasst: 20.10.2003 21:49
von Aecid
hier ist der link:
http://www.phpbbhacks.com/viewhack.php?id=770
ich schau mir ma den CODE an, thx!
EDIT: ja, da ist zwar dass zu sehen, was ich auch haben will, aber das bringt mich nicht unbedingt weiter!
Verfasst: 20.10.2003 22:08
von Spidy
Danke erstmal
hier mal der Code aus der Datei die die ansich generiert vieleicht hilft das ja kenne mich da leider nicht sogut aus . das es diese datei ist weiß ich nur weil ich mal eine Postnuke seite gemacht habe und die module noch habe.
Code: Alles auswählen
<?php
$blocks_modules['pastvisitors'] = array(
'func_display' => 'blocks_pastvisitors_block',
'text_type' => 'PastVisitors',
'text_type_long' => 'Past Visitors',
'allow_multiple' => false,
'form_content' => false,
'form_refresh' => false,
// 'support_xhtml' => true,
'show_preview' => true
);
pnSecAddSchema('PastVisitors::', 'Block title::');
function blocks_pastvisitors_block($row)
{
if (!pnSecAuthAction(0, 'PastVisitors::', "$row[title]::", ACCESS_READ)) {
return;
}
list($dbconn) = pnDBGetConn();
if (pnUserLoggedIn()) $username=pnUserGetVar('uname');
$ip = getenv("REMOTE_ADDR");
if (!isset($username)) $username=$ip;
$sql = "SELECT * FROM nuke_pastvisitors WHERE username = \"$username\"";
$result=$dbconn->Execute($sql);
if ($dbconn->ErrorNo() != 0) {
die("ERROR: (checking current list" . $dbconn->ErrorMsg());
}
if (!$result->EOF) {
$sql= "UPDATE nuke_pastvisitors SET date = ".time()." WHERE username=\"$username\"";
$result=$dbconn->Execute($sql);
if ($dbconn->ErrorNo() != 0) {
die("ERROR: (updating existing user" . $dbconn->ErrorMsg());
}
} else {
$sql = "INSERT INTO nuke_pastvisitors VALUES (\"\", \"$username\", ".time().", \"".$ip."\")";
$result=$dbconn->Execute($sql);
if ($dbconn->ErrorNo() != 0) {
die("ERROR: (adding new user" . $dbconn->ErrorMsg());
}
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////
$row[content] = "";
$sql = "SELECT username, date, ip FROM nuke_pastvisitors ORDER BY date DESC LIMIT 5";
$result=$dbconn->Execute($sql);
if ($dbconn->ErrorNo() != 0) {
die("ERROR: (getting user list" . $dbconn->ErrorMsg());
}
$content="";
while (!$result->EOF) {
list($uname, $date, $ip) = $result->fields;
if ($uname == $ip) {
if (pnSecAuthAction(0, 'PastVisitors::', "$row[title]::", ACCESS_ADMIN)) {
$uname="<b>$uname</b>";
} else {
$uname="<b>Besucher</b>";
}
} else {
$uname="<a href=\"user.php?op=userinfo&uname=$uname\"><b>$uname</b></a>";
}
$date = GetUserTime($date);
$system_offset=pnConfigGetVar('timezone_offset');
$user_offset=pnUserGetVar('timezone_offset');
$adjusteddate=mktime((date("H",$date)), date("i",$date), date("s",$date), date("m",$date), date("d",$date), date("Y",$date));
$lastdate=date("d.m.Y, H:i",$date);
$content .= "<center>$uname<br>$lastdate Uhr</center><br>";
$result->MoveNext();
}
$row['content'] = $content;
return themesideblock($row);
}
?>
Verfasst: 20.10.2003 22:17
von Aecid
ja, blick ich jetzt auch nicht so richtig durch, kann vielleicht jemand meinen Code nehmen und ihn umschreiben, dass er das anzeigt, bitte?
Verfasst: 20.10.2003 23:08
von Aecid
ok, hab es fast gelöst, wie kriege ich jetzt nur den Timestamp richtig formatiert angezeigt?
Verfasst: 21.10.2003 11:45
von Acid
$variabel = create_date($board_config['default_dateformat'], $result_aus_query, $board_config['board_timezone']);
?
PS: Netter Nick.

Verfasst: 21.10.2003 12:51
von Aecid
jo thx, Acid!
konnte irgendwie das umgerechnete Datum nicht in eine Variable fassen, aslo habe ich es direkt umgewandelt. funzt bei mir alles einwandfrei, bis jetzt jedenfalls!
hier der komplette Code falls es jemanden interessiert:
Code: Alles auswählen
//
// Users of the day MOD
//
// ############ Edit below ############
// #
$display_not_day_userlist = 0; // change to 1 here if you also want the list of the users who didn't visit to be displayed
$users_list_delay = 24; // change here to the number of hours wanted for the list
// #
// ############ Edit above ############
$sql = "SELECT user_id, username, user_allow_viewonline, user_level, user_session_time
FROM ".USERS_TABLE."
WHERE user_id > 0
ORDER BY user_session_time DESC, username ASC";
if( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not obtain user/day information', '', __LINE__, __FILE__, $sql);
}
$day_userlist = '';
$day_users = 0;
$not_day_userlist = '';
$not_day_users = 0;
while( $row = $db->sql_fetchrow($result) )
{
$style_color = '';
if ( $row['user_level'] == ADMIN )
{
$row['username'] = '<b>' . $row['username'] . '</b>';
$style_color = 'style="color:#' . $theme['fontcolor3'] . '"';
}
else if ( $row['user_level'] == MOD )
{
$row['username'] = '<b>' . $row['username'] . '</b>';
$style_color = 'style="color:#' . $theme['fontcolor2'] . '"';
}
if ( $row['user_allow_viewonline'] )
{
$user_day_link = '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $row['user_id']) . '"' . $style_color .'>' . $row['username'] . '</a><br />' . create_date("j.m.Y, G:i", $row['user_session_time'], $board_config['board_timezone']) . '<br />';
}
else
{
$user_day_link = '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $row['user_id']) . '"' . $style_color .'><i>' . $row['username'] . '</i></a><br />' . create_date("j.m.Y, G:i", $row['user_session_time'], $board_config['board_timezone']) . '<br />';
}
if ( $row['user_allow_viewonline'] || $userdata['user_level'] == ADMIN )
{
if ( $row['user_session_time'] >= ( time() - $users_list_delay * 3600 ) )
{
$day_userlist .= ( $day_userlist != '' ) ? '<br />' . $user_day_link : $user_day_link;
$day_users++;
}
else
{
$not_day_userlist .= ( $not_day_userlist != '' ) ? '<br>' . $user_day_link : $user_day_link;
$not_day_users++;
}
}
}
$day_userlist = ( ( isset($forum_id) ) ? '' : sprintf($lang['Day_users'], $day_users, $users_list_delay) ) . ' ' . $day_userlist;
$not_day_userlist = ( ( isset($forum_id) ) ? '' : sprintf($lang['Not_day_users'], $not_day_users, $users_list_delay) ) . ' ' . $not_day_userlist;
if ( $display_not_day_userlist )
{
$day_userlist .= '<br />' . $not_day_userlist;
}
//
// End of MOD
//
PS @Acid: Ebenfalls netter Nick
