Guten morgen RetroTown Community.
Seit einigen Tagen arbeite ich an dem "ArgonCMS". Dieses System wird ganz alleine von mir, UnicornZA (aka. iExit) entwickelt.
Was ist Argon?
Argon ist ein Content Management System, welches sich durch ein Sprachsystem via Json, einem Model View Controller Pattern, einem Mobile-Detector und vielen mehr von anderen herkömmlichen Habbo Retro Contents unterscheidet.
Sobald ich mit der Entwicklung fertig bin, wird dieses CMS höchstwahrscheinlich in einer abgespeckten (bin ich mir noch nicht sicher) Version veröffentlicht und zum Download freigegeben.
Screenshots
Snippets
MeController
<?php
class MeController extends Controller {
public function __construct($view,$modelFactory) {
parent::__construct($view,$modelFactory);
$this->minRank(1);
$this->navigation(1,1);
// Includes some stylesheets / scripts.
//$this->view->css = 'me, test';
//$this->view->js = 'slider';
// Page title
$this->view->title = $this->myuser->username;
// Language system
$this->view->language->loadTextsFromJsonFile(CMS_PATH.'public/texts/de/Base.json');
}
public function Base() {
$this->view->display('me/Base');
}
public function Mobile() {
$this->view->display('me/Base');
}
}
Alles anzeigen
PageManager (abgespeckter Auszug)
class PageManager { private $controller; private $method = 'Base'; private $actions = []; public function __construct($_view,$_modelFactory,$_page,$_mobile) { $actions = explode('/' ,trim($_page, '/')); $controller = ucfirst($actions[0]).'Controller'; if($_mobile == true) { $this->method = 'Mobile'; } if(WWW_PATH) { $protocol = (@$_SERVER["HTTPS"] == "on") ? "https://" : "http://"; if (substr($_SERVER['HTTP_HOST'], 0, 4) !== 'www.') { header("HTTP/1.1 301 Moved Permanently"); header('Location: '.$protocol.'www.'.$_SERVER['HTTP_HOST'].'/'.CMS_DIR.'/'.$actions[0]); exit; } } $this->controller = ($this->controllerExists($controller)) ? $controller : 'ErrorController'; // und so weiter :P
Language - Deutsche Base.json:
{ "Base": { "Credits": "Taler", "Duckets": "Duckets", "Points": "Diamanten" }}
Language aufrufbar mit:
$this->language->getText('Base.Credits'); // (in der View)// Base => Page (Array);// Credits => String (Index)
Mit freundlichen Grüßen,
UnicornZA (aka. iExit)