Recent Deliantra Players
This list is updated every ten minutes to show who is online.
$t2)
{
$time1 = $t2;
$time2 = $t1;
}
else
{
$time1 = $t1;
$time2 = $t2;
}
$diff = array(
'years' => 0,
'months' => 0,
'weeks' => 0,
'days' => 0,
'hours' => 0,
'minutes' => 0,
'seconds' =>0
);
foreach(array('years','months','weeks','days','hours','minutes','seconds')
as $unit)
{
while(TRUE)
{
$next = strtotime("+1 $unit", $time1);
if($next < $time2)
{
$time1 = $next;
$diff[$unit]++;
}
else
{
break;
}
}
}
return($diff);
}
function timeDifferenceText($pastDate)
{
$rightNow = time();
$difference = timeDiff($rightNow,$pastDate);
if($difference['years']>0)
{
if($difference['years']==1)
{
$difference = " 1 year ago";
}
else
{
$difference = $difference['years'] . " years ago";
}
}
else if($difference['months']>0)
{
if($difference['months']==1)
{
$difference = " 1 month ago";
}
else
{
$difference = $difference['months'] . " months ago";
}
}
else if($difference['weeks']>0)
{
if($difference['weeks']==1)
{
$difference = " 1 week ago";
}
else
{
$difference = $difference['weeks'] . " weeks ago";
}
}
else if($difference['days']>0)
{
if($difference['days']==1)
{
$difference = "1 day ago";
}
else
{
$difference = $difference['days'] . " days ago";
}
}
else if($difference['hours']>0)
{
if($difference['hours']==1)
{
$difference = " 1 hour ago";
}
else
{
$difference = $difference['hours'] . " hours ago";
}
}
else if($difference['minutes'])
{
if($difference['minutes']==1)
{
$difference = " 1 minute ago";
}
else
{
$difference = $difference['minutes'] . " minutes ago";
}
}
else
{
$difference = " Just now";
}
return $difference;
}
//Generate the highscore table.
$jsonScoresUnparsed = file_get_contents("recent.json");
$jsonArray = json_decode($jsonScoresUnparsed);
$timestamp = $jsonArray->date;
$version = $jsonArray->version;
$players = $jsonArray->data;
echo "\n";
echo "| Player Name | Last Login | Last Logout | Birthdate | Logins | Deaths | OS | Go |
";
$number = 0;
$size = 100;
foreach($players as $player)
{
echo "";
$number++;
if($number>50 & $size>=50)
{
$size -= .5; //Decrease the font size.
}
$name = $player[0];
$birthdate = $player[1];
$lastLogin = $player[2];
$loginCount = $player[3];
$lastLogout = $player[4];
$client = $player[5];
$deaths = $player[6];
$location = $player[7];
/*
//A quick PHP side filter. If needed uncomment.
$ancientTest = timeDiff(time(),$lastLogin);
if($ancientTest['months']>0)
{
break; //Haven't logged in for a month.... they aren't exactly recent or online.
}
*/
if($deaths==="?")
{
$deaths = 0;
}
$loginDifference = timeDifferenceText($lastLogin);
if($lastLogout==null)
{
$logoutDifference = "Currently online";
}
else
{
$logoutDifference = timeDifferenceText($lastLogout);
}
if($birthdate==null)
{
$birthdateDifference = "Before known time";
}
else
{
$birthdateDifference = timeDifferenceText($birthdate);
}
if(stripos($client,"darwin")!==FALSE)
{
$operatingSystem = "mac";
}
else if(stripos($client,"unix")!==FALSE)
{
$operatingSystem = "mac";
}
else if(stripos($client,"MSWin32")!==FALSE)
{
$operatingSystem = "win";
}
else if(stripos($client,"linux")!==FALSE)
{
$operatingSystem = "lin";
}
if($logoutDifference==="Currently online")
{
$loggedInColor = "#96FFB2";
echo "| $name | $loginDifference | $logoutDifference | $birthdateDifference | $loginCount | $deaths | \n";
echo " | \n";
if(stripos($location,"~")!==FALSE or stripos($location,"?random")!==FALSE)
{
echo " | \n";
}
else
{
echo " | \n";
}
}
else
{
echo "$name | $loginDifference | $logoutDifference | $birthdateDifference | $loginCount | $deaths | \n";
echo " | \n";
if(stripos($location,"~")!==FALSE or stripos($location,"?random")!==FALSE)
{
echo " | \n";
}
else
{
$location = str_replace ("/world/", "/world-precomposed/", $location);
echo " | \n";
}
}
echo "
\n";
}
echo "
\n";
?>