Již pár dní prohledávám toto fórum, abych našel kloudný online status serveru a výpis server jména přes databázi... pár topiců tu je ale ty se většinou týkají hotových template nebo kompletního výpisu pomocí RESPORY.
Proto jsem si trochu pohrál a provedl toto:
Upozorňuji šťouraly, že jsem z RESPORY vycházel, proto zde může být až nápadná podobnost funkcí. Nejsem excelentní programátor ani scripter, proto jsem si pomohl jak to šlo.
Skript stačí nahrát do souboru a uložit ho jako index.php
Není vystylováno, jedná se jen o holý script
Skript pro výpis online statusu pomocí obrázku nebo textu a jména serveru:
1) pomocí obrázku
funkce a přístup do DB
<?php
$host="localhost"; // Adresa hostitele
$user="root"; // přihlašovací jméno do DB
$password="vertrigo"; // heslo do DB
$db="realmd"; // jméno realmd DB
$database_encoding = 'UTF-8'; // kódování databáze
$server = "127.0.0.1"; // adresa serveru pro realmstatus
$port = "8085"; // Server port (pro realmstatus) 8085 nebo 3724
class DBLayer
{
var $link_id;
var $query_result;
function DBLayer($db_host, $db_username, $db_password, $db_name)
{
$this->link_id = @mysql_connect($db_host, $db_username, $db_password, true);
if ($this->link_id)
{
if (@mysql_select_db($db_name, $this->link_id))
return $this->link_id;
else
print "Špatné přístupové údaje";
}
else
print "Špatné přístupové údaje";
}
function query($sql)
{
$this->query_result = @mysql_query($sql, $this->link_id);
if ($this->query_result)
{
return $this->query_result;
}
else
{
return false;
}
}
function result($query = 0)
{
return ($query) ? @mysql_result($query) : false;
}
function fetch_assoc($query = 0)
{
return ($query) ? @mysql_fetch_assoc($query) : false;
}
function close()
{
if ($this->link_id)
{
if ($this->query_result)
@mysql_free_result($this->query_result);
return @mysql_close($this->link_id);
}
else
return false;
}
}
function test_realm()
{
global $server, $port;
$s = @fsockopen("$server", $port, $ERROR_NO, $ERROR_STR,(float)0.5);
if($s)
{
@fclose($s);return true;
}
else return false;
}
function get_realm_name()
{
global $host, $user, $password, $db, $database_encoding;
$realm_db = new DBLayer($host, $user, $password, $db);
$realm_db->query("SET NAMES $database_encoding");
$query = $realm_db->query("SELECT * FROM `realmlist`");
$result = $realm_db->fetch_assoc($query);
$realm_db->close();
unset($realm_db);
return($result['name']);
}
$title=get_realm_name();
$status=get_realm_name();
if (test_realm())
{
$status = "<img alt=Online src='on.png' height='18' width='18'>";
}
else
{
$status = "<img alt=Offline src='off.png' height='18' width='18'>";
}
?>
zobrazovací část do těla stránky:
<?php print "$status"; ?> <!-- Online status-->
<?php print "$title"; ?> <!--Jméno serveru-->
2) pomocí textu:
ve funkcních upravte předělejte akorát tuto část:
if (test_realm())
{
$status = "Online";
}
else
{
$status = "Offline";
}
Skript pro výpis online statusu pomocí obrázku nebo textu:
a) pomocí obrázku
funkce a přístup do DB
<?php
$server = "127.0.0.1"; // adresa serveru pro realmstatus
$port = "8085"; // Server port (pro realmstatus) 8085 nebo 3724
function test_realm()
{
global $server, $port;
$s = @fsockopen("$server", $port, $ERROR_NO, $ERROR_STR,(float)0.5);
if($s)
{
@fclose($s);return true;
}
else return false;
}
if (test_realm())
{
$status = "<img alt=Online src='on.png' height='18' width='18'>";
}
else
{
$status = "<img alt=Offline src='off.png' height='18' width='18'>";
}
?>
zobrazovací část do těla stránky:
<?php print "$status"; ?> <!-- Online status-->
2) pomocí textu:
ve funkcních upravte předělejte akorát tuto část:
if (test_realm())
{
$status = "Online";
}
else
{
$status = "Offline";
}
třeba to někomu pomůže