After some weeks I recoded the hole CCMS.
Added new things and make the plugin system better.
Also a new layout to test if it actually works (multi layout)
Here an video to demostrate:
CustoMS - Switching between templates! - YouTube
Also the idea of the new way of manage the CCMS:

It loads over the default layout to manage it directly.
Also added triggers `for making it compatible for uber/phoenix etc`
I can be used for onload action or when a specialy plugin function being executed.
An snipped of the userinfo plugin with update future
PHP Code:
<?php
namespace CustoMS\Plugin;
use CustoMS\Application;
if (!defined('BASE'))
{
exit;
}
class hh_userinfo implements iPlugin
{
private $base;
function __Construct()
{
$this->base = PLUGINS.'hh_userinfo'.DS;
}
public function GetContent()
{
if (!isset($_SESSION['hotel']))
{
return '';
}
$template = new Template($this->base.'content.html');
$template->AddParam('look', $_SESSION['hotel']['user']['look']);
$template->AddParam('motto', $_SESSION['hotel']['user']['motto']);
$template->AddParam('credits', $_SESSION['hotel']['user']['credits']);
$template->AddParam('pixels', $_SESSION['hotel']['user']['pixels']);
return (string)$template;
}
public function HandleAction()
{
if (!isset($_SESSION['hotel']))
{
return;
}
$motto = $_POST['motto'];
$id = $_SESSION['hotel']['user']['id'];
Application::$DB->Prepare('UPDATE `users` SET `motto` = ? WHERE `id` = ? LIMIT 1')->Params('si', $motto, $id)->Execute();
$_SESSION['hotel']['user']['motto'] = $motto;
exit($motto);
}
public function SetSettings($data) { }
}
?>
The url to save would be: `URL/index.php?plugin=hh_userinfo` and used AJAX to save the new motto.