Z.B. Eine die ich geschrieben und verwendet habe
Einbinden nicht vergessen.
ServerStateHandler.php
PHP Code:
<?php
/* mySQL-Server LogIn Daten */
$host = "localhost";
$user = "root";
$pass = "deinPasswort";
$db = "deineDB";
$waitTime = 0.5;
$mySQLFlyffDB = @new mysqli($host, $user, $pass, $db);
if ( mysqli_connect_errno() ) {
die ('Konnte keine Verbindung zur Datenbank aufbauen: '.mysqli_connect_error().'('.mysqli_connect_errno().')');
}
/* mySQL-Server Funktionen und Befehle*/
function createAccount($UN, $PW, $Mail) {
global $mySQLFlyffDB;
$sqlCreateAccount = "INSERT INTO
accounts( username, password, email, accesslevel )
VALUES
( '$UN',
'$PW',
'$Mail'
'100'
);" ;
$accountResult = $mySQLFlyffDB->query($sqlCreateAccount);
return $accountResult;
}
function userexist( $newuser ){
global $mySQLFlyffDB;
$checkname = $mySQLFlyffDB->query("SELECT * FROM accounts WHERE username = '$newuser'");
$checkresult = $checkname->num_rows;
if ( $checkresult != 0 ) {
return true;
}
else {
return false;
};
}
function getAccountQuantity() {
global $mySQLFlyffDB;
$AccCount = $mySQLFlyffDB->query("SELECT * FROM accounts");
$result = $AccCount->num_rows;
return $result;
}
function getCharacterQuantity() {
global $mySQLFlyffDB;
$CharCount = $mySQLFlyffDB->query("SELECT * FROM characters");
$result = $CharCount->num_rows;
return $result;
}
function getPlayerOnline() {
global $mySQLFlyffDB;
$activeUsers = $mySQLFlyffDB->query("SELECT * FROM accounts WHERE logged_in = '1' ");
$result = $activeUsers->num_rows;
return $result;
}
function isLoginServerOnline() {
global $host;
$LSstatus = 0;
$LSstatus = @fsockopen( $host, 23000, $errno, $errstr, $waitTime );
if ( $LSstatus >= 1 ) {
return true;
}
else {
return false;
}
}
function isCharServerOnline() {
global $host;
$CSstatus = 0;
$CSstatus = @fsockopen( $host, 28000, $errno, $errstr, $waitTime );
if ( $CSstatus >= 1 ) {
return true;
}
else {
return false;
}
}
/*
World-Server 0 z. Zt. "From Zero to Hero"
World-Server 1 z. Zt. nicht vorhanden
World-Server 2 z. Zt. nicht vorhanden
*/
function isWorldServerOnline( $ServerID ) {
global $host;
$WS0status = 0;
$WS1status = 0;
$WS2status = 0;
if ( $ServerID == 0 ) {
$WS0status = @fsockopen( $host, 15400, $errno, $errstr, $waitTime );
if ( $WS0status >= 1 ) {
return true;
}
else {
return false;
}
}
elseif ( $ServerID == 1 ) {
//$WS1status = @fsockopen("127.0.0.1", 15400, $errno, $errstr, 1);
if ( $WS1status >= 1 ) {
return true;
}
else {
return false;
}
}
elseif ( $ServerID == 2 ) {
//$WS2status = @fsockopen("127.0.0.1", 15400, $errno, $errstr, 1);
if ( $WS2status >= 1 ) {
return true;
}
else {
return false;
}
}
}
?>
Und dazu ServerState.tpl:
PHP Code:
<?php
/* Kommentar:
* blub
*
*
*/
?>
<div>
<h2>Server Status</h2>
<table>
<tr>
<td><p>LogIn-Server: </p></td>
<?php if ( isLoginServerOnline() ) { ?>
<td><p><strong class="on">Online</strong></p></td>
<?php }
else { ?>
<td><p><strong class="off">Offline</strong></p></td>
<?php } ?>
</tr>
<tr>
<td><p>Char-Server: </p></td>
<?php if ( isCharServerOnline() ) { ?>
<td><p><strong class="on">Online</strong></p></td>
<?php }
else { ?>
<td><p><strong class="off">Offline</strong></p></td>
<?php } ?>
</tr>
<tr>
<td><p>World-Server: </p></td>
<?php if ( isWorldServerOnline(0) ) { ?>
<td><p><strong class="on">Online</strong></p></td>
<?php }
else { ?>
<td><p><strong class="off">Offline</strong></p></td>
<?php } ?>
</tr>
</table>
</div>
<?php /* Ende */ ?>
Und in eure CSS dann noch den kleinen Teil dazu:
Code:
.off {
color: #ff0000;
}
.on {
color: #00ff00;
}
Den Code in der Tabelle kannst du ja auch so ändern, das anstatt farbigem Text, Bilder ausgegeben werden.
Vielleicht kannst du damit ja schon was anfagen.
Sonst frag nochmal nach.