Ich habe angefangen ein User Control Panel zu coden.
Das ganze ist objektorientiert programmiert, gut strukturiert (Verzeichnis und Codestruktur).
Es ist übersichtlich und einfach gehalten, Erweiterungen bspw. durch Plugins etc. sind ebenfalls möglich.
Ich habe auch eine leichte API gecoded, dazu gleich mehr.
Ich nutze das Design was ich auch in meinem Showroom vorgestellt habe.
Moment an gibt es nicht viel über das UCP zu schreiben, da ich gerade eben erst mit den Basics fertig geworden bin.
Fangen wir einfach mit den Snippets an.
Konfigurationsdatei
<?php /* * The ____ _ _ * | _ \| | | | * | |_) | |_ _ ___| |__ ___ _ __ _ __ _ _ * | _ <| | | | |/ _ \ '_ \ / _ \ '__| '__| | | | * | |_) | | |_| | __/ |_) | __/ | | | | |_| | * |____/|_|\__,_|\___|_.__/ \___|_| |_| \__, | * __/ | * |___/ CMS * @author Azcaq <Azcaq@outlook.de> * @copyright 2015 Azcaq */ $_CFG = [ "MySQL:HOST" => "127.0.0.1", "MySQL:USER" => "root", "MySQL:PASS" => "123456", "MySQL:DATA" => "samp" ]; $_SAMP = [ "SERVER_ADDR" => "127.0.0.1", "SERVER_PORT" => 7777 ];?>
Index
<?php /* * The ____ _ _ * | _ \| | | | * | |_) | |_ _ ___| |__ ___ _ __ _ __ _ _ * | _ <| | | | |/ _ \ '_ \ / _ \ '__| '__| | | | * | |_) | | |_| | __/ |_) | __/ | | | | |_| | * |____/|_|\__,_|\___|_.__/ \___|_| |_| \__, | * __/ | * |___/ CMS * @author Azcaq <Azcaq@outlook.de> * @copyright 2015 Azcaq */ set_time_limit(0); define("DEBUGGING", true); ini_set("display_errors", DEBUGGING); ini_set("memory_limit", -1); date_default_timezone_set("Europe/Berlin"); error_reporting(E_ALL); if(session_status() == PHP_SESSION_NONE) { session_start(); } require_once($_SERVER['DOCUMENT_ROOT'] . "/Configuration.php"); spl_autoload_register(function($className) { require_once($_SERVER['DOCUMENT_ROOT'] . "/" . implode("/", explode("\", $className)) . ".php"); }); use System\PDO\Connection; if(defined("AJAX") || defined("API")) { new Connection(array($_CFG["MySQL:HOST"], $_CFG["MySQL:USER"], $_CFG["MySQL:PASS"], $_CFG["MySQL:DATA"])); } else { return new System\Bootstrap(new Connection(array($_CFG["MySQL:HOST"], $_CFG["MySQL:USER"], $_CFG["MySQL:PASS"], $_CFG["MySQL:DATA"])), array("main", "index")); }?>
Account Plugin
<?php /* * The ____ _ _ * | _ \| | | | * | |_) | |_ _ ___| |__ ___ _ __ _ __ _ _ * | _ <| | | | |/ _ \ '_ \ / _ \ '__| '__| | | | * | |_) | | |_| | __/ |_) | __/ | | | | |_| | * |____/|_|\__,_|\___|_.__/ \___|_| |_| \__, | * __/ | * |___/ CMS * @author Azcaq <Azcaq@outlook.de> * @copyright 2015 Azcaq */ namespace Application\Plugins\Azcaq\Account; use System\Controller\Plugin as PluginExt; class Plugin extends PluginExt { public function __construct($data) { parent::__construct($data); } public function Index() { $this->view->set("Title", $this->user->getUsername()); $this->minRank(1); $this->display(); } public function Logout() { $this->user->factory->Logout(); } }?>
API
Ich halte gerne alles kurz, die Codes sollten ja eine Menge erklären.
Aufruf
Zitat
Dies würde dann, wenn der Server online ist folgendes ausgeben:
{"Status":1,"Hostname":"Samp-Rp.Ru | Server: 14 | Client: 0.3z","Gamemode":"Samp-Rp.Ru Russia","Players":"335","MaxPlayers":"1000","MapName":"Russia","Weather":"sonnig in Las Venturas","Version":"0.3z-R4-1000p"}
Sollte der Server offline sein:
Aufruf
Zitat
Dies gibt dann wenn der Server online ist und dort Spieler drauf sind folgendes aus:
Verzeichnisstruktur