<?php
 
###########################################################################
##  Copyright (C) Wizardry and Steamworks 2016 - License: GNU GPLv3      ##
###########################################################################
## This script overlays the number of online players and the cumulative  ##
## mangos server uptime onto a specified image and displays the result.  ##
###########################################################################

###########################################################################
##                            CONFIGURATION                              ##
###########################################################################

# The configuration file for this script containing the settings.
include_once("config.php");
 
###########################################################################
##                               INTERNALS                               ##
###########################################################################

function wasTimeElapsed($secs) {
	$bit = array(
		'y' => $secs / 31556926 % 12,
		'w' => $secs / 604800 % 52,
		'd' => $secs / 86400 % 7,
		'h' => $secs / 3600 % 24,
		'm' => $secs / 60 % 60,
		's' => $secs % 60
	);
 
	foreach($bit as $k => $v)
		if($v > 0)
			$ret[] = $v . $k;
 
	return join(' ', $ret);
}
 
$online = 0;
try {
	$db = new PDO('mysql:host='.$DATABASE_HOSTNAME.';dbname='.$DATABASE_CHARACTERS_NAME.';', $DATABASE_USERNAME, $DATABASE_PASSWORD);
	$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
	$q = $db->prepare("SELECT online FROM $DATABASE_CHARACTERS_NAME.characters");
	$q->execute();
	$result = $q->fetchAll();
	foreach($result as $row) {
		if($row['online'] == 1)
			$online++;
	}
}
catch(PDOException $e) {
    print $e->getMessage();
    return;
}
 
$uptime = 0;
try {
	$db = new PDO('mysql:host='.$DATABASE_HOSTNAME.';dbname='.$DATABASE_REALM_NAME.';', $DATABASE_USERNAME, $DATABASE_PASSWORD);
	$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
	$q = $db->prepare("SELECT starttime FROM realmd.uptime ORDER BY starttime DESC LIMIT 1");
	$q->execute();
	$result=$q->fetch();
	$uptime=wasTimeElapsed(
		time()-$result['starttime']
	);
}
catch(PDOException $e) {
	print $e->getMessage();
	return;
}
 
$im = imagecreatefrompng($PATH_TO_IMAGE);
imagealphablending($im, false);
imagesavealpha($im, true);
$black = imagecolorallocate ($im, 0, 0, 0);
imagestring($im, 200, 255, 75, $online.' online', $black);
imagestring($im, 200, 245, 95, $uptime, $black);
header('Content-type: image/png');
imagepng($im);
 
?>

mangos/statistics/status.php.txt ยท Last modified: 2021/05/19 13:08 by office

Access website using Tor Access website using i2p Wizardry and Steamworks PGP Key


For the copyright, license, warranty and privacy terms for the usage of this website please see the license, privacy, copyright and the plagiarism pages.