Úvodní stránka › Fórum podpory WordPressu › Problémy s WordPressem › Server status options
Štítky: Minecraft, Stránka s nastavením
Zvolené téma obsahuje celkem 5 odpovědí. Do diskuze (3 účastníci) se naposledy zapojil uživatel wedr a poslední změna je stará 11 let, 3 měsíce.
-
AutorPříspěvky
-
30. prosince 2012 (10:32) #2647
Zdravím…. potřebuji udělat takovou featuru skrze theme options ale nejsem dobrý php programátor a tápu v tom…
Jedná se o chvilinku
narvat
<?php
namespace Minecraft;
class Stats {
public static function retrieve( wp-contentthemesminecraftadminServer $server ) {
$socket = stream_socket_client(sprintf(‘tcp://%s:%u’, $server->getHostname(), $server->getPort()), $errno, $errstr, 1);
$stats = new stdClass;
$stats->is_online = false;
if (!$socket)
return $stats;
fwrite($socket, “xfex01”);
$data = fread($socket, 1024);
fclose($socket);
// Is this a disconnect with the ping?
if($data == false AND substr($data, 0, 1) != “xFF”)
return $stats;
$data = substr($data, 9);
$data = mb_convert_encoding($data, ‘auto’, ‘UCS-2’);
$data = explode(“x00”, $data);
$stats->is_online = true;
list($stats->protocol_version, $stats->game_version, $stats->motd, $stats->online_players, $stats->max_players) = $data;
return $stats;
}
}
a
class Server {
protected $hostname;
protected $port;
public function __construct($hostname = ‘127.0.0.1’, $port = 25565) {
$this->setPort($port);
$this->setHostname($hostname);
}
/**
* Must be IP or domain. (only IPv4)
*/
public function setHostname($hostname) {
// Overload for hostname:port syntax.
if( preg_match(‘/:d+$/’, $hostname) ) {
// if protocol (e.g., ‘http’) was included; strip it out
if( preg_match(‘/:///’, $hostname) ) {
list($protocol, $this->hostname, $this->port) = explode(‘:’, str_replace(‘//’, ”, $hostname));
} else {
list($this->hostname, $this->port) = explode(‘:’, $hostname);
}
} else {
$this->hostname = $hostname;
}
}
public function getHostname() {
return $this->hostname;
}
public function setPort($port) {
if(is_int($port)) {
$this->port = $port;
} else if( is_numeric($port) ) {
$this->port = intval($port);
}
}
public function getPort() {
return $this->port;
}
Do wordressu aby ta vstupní hodnota šla upravovat skrze theme settings…
30. prosince 2012 (10:33) #14041Jsem ochotný zaplatit… ale potřebuji to rychle!
30. prosince 2012 (16:49) #14042Co to znamená “featuru skrze theme options”? Nějaký kontakt by nebyl?
30. prosince 2012 (17:45) #14043vše rád popíšu… skype:prstak bude to asi nejlepší
1. ledna 2013 (16:39) #14044wedr: Zkuste nám to popsat rovnou sem :-) Chcete nějakou proměnnou uvedenou ve skriptu nechat zadávat přímo uživatele někde v nastavení šablony? To je trochu složitější problém, ale existuje mnoho návodů, které můžete pro tyto účely použít. Pokud se ještě nezadařilo, tak nám sem napište nějaké další podrobnosti (jakou proměnnou, co případně nefunguje, atd). A pokud se tím nechcete sám moc zabývat, tak pošlete podrobné zadání na email pavelevap@separatista.net, zkusíme se na to podívat (už to ale bude spíše placená zakázka)…
1. ledna 2013 (16:48) #14045Ok… takže vstupní hodnota se bude zadávat v theme options…
https://github.com/redwallhp/MCServerStatus tady je celý kód … v demo/index.php je nahoře array kde se zadává ta proměnná.
Já potřebuji aby když zadám tuto proměnnou v theme options aby to systém vzal zpracoval tak jak to je v tom demu…
co nevím… jak odkazovat na ty scripty.. bloginfo( url ) mi nefungovalo…
a taky se mi nechce načíst ta proměnná z theme-options.
theme options mám podle tutoriálu
Díky moc.
-
AutorPříspěvky
Pokud chcete odpovědět na toto téma, musíte se nejdříve přihlásit.