Jump to content
MakeWebGames

Help With Online Status


mxyi

Recommended Posts

on the staff online section it says Ryan (4 hours) why does it say 4hours? it also says on my profile 'Offline' When i am online

but on explore > users online it says who is actualy online, can someone help me fix this?

thanks!

Link to comment
Share on other sites

ok sorry bout that wait i couldnt get onto my cpanel x/ heres viewuser.php

<?php
include "globals.php";
$_GET['u'] = abs((int) $_GET['u']);
if(!$_GET['u'])
{
print "Invalid use of file";
}
else
{
$q=$db->query("SELECT u.*,us.*,c.*,h.*,g.*,f.* FROM users u LEFT JOIN userstats us ON u.userid=us.userid LEFT JOIN cities c ON u.location=c.cityid LEFT JOIN houses h ON u.maxwill=h.hWILL LEFT JOIN gangs g ON g.gangID=u.gang LEFT JOIN fedjail f ON f.fed_userid=u.userid WHERE u.userid={$_GET['u']}");
if($db->num_rows($q) == 0)
{
print "Sorry, we could not find a user with that ID, check your source.";
}
else
{
$r=$db->fetch_row($q);
if($r['user_level'] == 1) { $userl="Member"; } else if($r['user_level'] == 2) { $userl="Admin"; } else if ($r['user_level'] == 3) { $userl="Secretary"; } else if($r['user_level'] == 0) { $userl="NPC"; }  else {$userl="Assistant"; }
$lon=($r['laston'] > 0) ?date('F j, Y g:i:s a',$r['laston']) : "Never";
$sup=date('F j, Y g:i:s a',$r['signedup']);
$ts=$r['strength']+$r['agility']+$r['guard']+$r['labour']+$r['IQ'];
$d="";
if($r['laston'] > 0)
{
$la=time()-$r['laston'];
$unit="seconds";
if($la >= 60)
{
$la=(int) ($la/60);
$unit="minutes";
}
if($la >= 60)
{
$la=(int) ($la/60);
$unit="hours";
if($la >= 24)
{
$la=(int) ($la/24);
$unit="days";
}
}
$str="$la $unit ago";
}
else
{
 $str="--";
}
if($r['last_login'] > 0)
{
$ll=time()-$r['last_login'];
$unit2="seconds";
if($ll >= 60)
{
$ll=(int) ($ll/60);
$unit2="minutes";
}
if($ll >= 60)
{
$ll=(int) ($ll/60);
$unit2="hours";
if($ll >= 24)
{
$ll=(int) ($ll/24);
$unit2="days";
}
}
$str2="$ll $unit2 ago";
}
else
{
 $str2="--";
}

if($r['donatordays']) { $r['username'] = "<font color=red>{$r['username']}</font>";$d="[img=donator.gif]"; }
if($r['laston'] >= time()-15*60) { $on="<font color=green>[b]Online[/b]</font>"; } else { $on="<font color=red>[b]Offline[/b]</font>"; }
print "<h3>Profile for {$r['username']}</h3>
<table width=100% cellspacing=1 class='table'><tr style='background:gray'><th>General Info</th><th>Financial Info</th> <th>Display Pic</th></tr>
<tr><td>Name: {$r['username']} [{$r['userid']}] $d

User Level: $userl

Duties: {$r['duties']}

Gender: {$r['gender']}

Signed Up: $sup

Last Active: $lon

Last Action: $str

Last Login: $str2

Online: $on

Days Old: {$r['daysold']}

Location: {$r['cityname']}</td><td>
Money: \${$r['money']}

Crystals: {$r['crystals']}

Property: {$r['hNAME']}

Referals: ";
$rr=$db->query("SELECT * FROM referals WHERE refREFER={$r['userid']}");
print $db->num_rows($rr);
print "

Friends: {$r['friend_count']}

Enemies: {$r['enemy_count']}
</td> <td>";
if($r['display_pic'])
{
print "[img={$r[]";
}
else
{
print "This user has no display pic!";
}
$sh=($ir['user_level'] >1) ? "Staff Info" : "";
print "</td></tr>
<tr style='background:gray'><th>Physical Info</th><th>Links</th><th>$sh</th></tr>
<tr><td>Level: {$r['level']}

Health: {$r['hp']}/{$r['maxhp']}

Gang: ";
if($r['gang'])
{
print "[url='gangs.php?action=view&ID={$r[']{$r['gangNAME']}[/url]";
}
else
{
print "N/A";
}
if($r['fedjail'])
{
print "
[b]<font color=red>In federal jail for {$r['fed_days']} day(s).

{$r['fed_reason']}</font>";
}
if($r['hospital'])
{
print "
[b]<font color=red>In hospital for {$r['hospital']} minutes.
{$r['hospreason']}</font>[/b]";
}
if($r['jail'])
{
print "
[b]<font color=red>In jail for {$r['jail']} minutes.
{$r['jail_reason']}</font>[/b]";
}

print "</td><td>[[url='mailbox.php?action=compose&ID={$r[']Send Mail[/url]]


[[url='sendcash.php?ID={$r[']Send Cash[/url]]

";
if($set['sendcrys_on'])
{
print "[[url='sendcrys.php?ID={$r[']Send Crystals[/url]]

";
}
if($set['sendbank_on'])
{
if($ir['bankmoney'] >= 0 && $r['bankmoney'] >= 0)
{
print "[[url='sendbank.php?ID={$r[']Bank Xfer[/url]]

";
}
if($ir['cybermoney'] >= 0 && $r['cybermoney'] >= 0)
{
print "[[url='sendcyber.php?ID={$r[']CyberBank Xfer[/url]]

";
}
}
print "
[[url='attack.php?ID={$r[']Attack[/url]]


[[url='contactlist.php?action=add&ID={$r[']Add Contact[/url]]";
if($ir['user_level'] == 2 || $ir['user_level'] == 3 || $ir['user_level'] == 5)
{
print "


[[url='jailuser.php?userid={$r[']Jail[/url]]


[[url='mailban.php?userid={$r[']MailBan[/url]]";
}
if($ir['donatordays'] > 0)
{
print "


[[url='friendslist.php?action=add&ID={$r[']Add Friends[/url]]


[[url='blacklist.php?action=add&ID={$r[']Add Enemies[/url]]
";
}
print "</td><td>";
if($ir['user_level'] == 2 || $ir['user_level'] == 3 || $ir['user_level'] == 5)
{
 $r['lastiph']=@gethostbyaddr($r['lastip']);
 $r['lastiph']=checkblank($r['lastiph']);
 $r['lastip_loginh']=@gethostbyaddr($r['lastip_login']);
 $r['lastip_loginh']=checkblank($r['lastip_loginh']);
 $r['lastip_signuph']=@gethostbyaddr($r['lastip_signup']);
 $r['lastip_signuph']=checkblank($r['lastip_signuph']);
print "<h3>Internet Info</h3><table width='100%' border='0' cellspacing='1' class='table'>
<tr><td></td><td class='h'>IP</td><td class='h'>Hostname</td></tr>
<tr><td class='h'>Last Hit</td><td>$r[lastip]</td><td>$r[lastiph]</td></tr>
<tr><td class='h'>Last Login</td><td>$r[lastip_login]</td><td>$r[lastip_loginh]</td></tr>
<tr><td class='h'>Signup</td><td>$r[lastip_signup]</td><td>$r[lastip_signuph]</td></tr></table>";
print "<form action='staffnotes.php' method='post'>
Staff Notes: 

<textarea rows=7 cols=40 name='staffnotes'>{$r['staffnotes']}</textarea>

<input type='hidden' name='ID' value='{$_GET['u']}' />
<input type='submit' value='Change' /></form>";
}
else
{
print "";
}
print "</tr></table>";
}
}
function checkblank($in)
{
 if(!$in) { return "N/A"; }
 return $in;
}
$h->endpage();
?>

what other files do you need? :S

Link to comment
Share on other sites

I had a similar problem to this in the past..

It was due to the database being on 1 server and the files on another..

So when the laston field updated, it used unix timestamp for the database server, which was set at a different time than the file server..

I fixed it by changing the query that updated the laston field to use a time stamp from the file server instead..

in header.php..

$laston = time();
$db->query("UPDATE users SET laston='$laston',lastip='$IP' WHERE userid=$userid");
Link to comment
Share on other sites

ah i see, because on the 'Time is now..' thing at the bottom of the screen its diffrent the mail one? is that the same problem? i think i understand could you fix me code for me? thanks im a newb at coding, thanks!

Link to comment
Share on other sites

I had a similar problem to this in the past..

It was due to the database being on 1 server and the files on another..

So when the laston field updated, it used unix timestamp for the database server, which was set at a different time than the file server..

I fixed it by changing the query that updated the laston field to use a time stamp from the file server instead..

in header.php..

lol...i had the same problem as well....it would say x people was online but last action was like an hour ago...lol

I solved my problem the same way you did :)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...