- Joined
- Apr 7, 2010
- Messages
- 1,699
- Reaction score
- 420
The past few months I've slowly worked on a QuickTPL 2.0. Then at one moment I thought, this is all just rubbish and nobody is going to use this. So I started on a new CMS from scratch. I call it Boost because it really boosts you page-coding speed. I completed half the pages in an hour because how easy it is to create pages.
Let's talk about features:
Dynamic Prepared Statements: You don't have to call the bindparam functions anymore and you can just directly fetch rows if you supply the columns you want. Everything is handled by the MySqli Wrapper Class for you, without any possible exploits.
Custom Templating Class: This really speeds up your work. You don't need to write useless <html> tags anymore and <?php echo ?> is soooo deprecated. You can even set entire columns in one function without the need for any foreach.
Package System: Now this is something interesting. You know how on all CMSs in the Habbo Section people always release their total edits with just some added pages? Well I created a system like Modloader in Minecraft. You can just create a package with for example a VIP Shop, create 5 pages in it and just release that Package. You can just copy-paste that Package to your /Boost/Packages/ folder and the CMS does all the loading for you.
It is going to be entirely Habbo-Themed with a ripped web-gallery supplied with some extra CSS from me added in for the Housekeeping.
Snippets:
Router
Bootstrap
Index
Release is coming in one or two weeks, I'm working hard on it currently.
Pages Complete so far:
Login
Quickregister
Me
Account Settings
Community
Articles
Feedback
FAQ
About
Staff
R63A Client
Working On:
Recoded Housekeeping from QuickTPL (I really liked that one, but code was messy so I'll have to recode the functions)
Finding and fixing bugs (Haven't found anything yet, someone like to try it out on a live hotel?)
Expanding Account Settings, and Community
Planned:
R63B Client
Maybe a VIP Shop?
For more snippets just ask, but I'd like to get your interests first :
Let's talk about features:
Dynamic Prepared Statements: You don't have to call the bindparam functions anymore and you can just directly fetch rows if you supply the columns you want. Everything is handled by the MySqli Wrapper Class for you, without any possible exploits.
Custom Templating Class: This really speeds up your work. You don't need to write useless <html> tags anymore and <?php echo ?> is soooo deprecated. You can even set entire columns in one function without the need for any foreach.
Package System: Now this is something interesting. You know how on all CMSs in the Habbo Section people always release their total edits with just some added pages? Well I created a system like Modloader in Minecraft. You can just create a package with for example a VIP Shop, create 5 pages in it and just release that Package. You can just copy-paste that Package to your /Boost/Packages/ folder and the CMS does all the loading for you.
It is going to be entirely Habbo-Themed with a ripped web-gallery supplied with some extra CSS from me added in for the Housekeeping.
Snippets:
Router
PHP:
<?php
class Router
{
public $Request;
private $Maps = Array(), $CurrentMap;
public $Navigation = Array();
public function MapPackage($Package)
{
$MapLink = BOOST.'/Packages/'.$Package.'/Maps.php';
if (file_exists($MapLink))
{
$this->CurrentMap = $Package;
require $MapLink;
}
}
private function Map($Url, $Page)
{
$this->Maps[$Url] = Array(
'Package' => $this->CurrentMap,
'Page' => $Page
);
}
public function Load($Url)
{
$this->Request = new Request($Url);
$i = 10;
while (!isset($this->Maps[$this->Request->Url]))
{
$this->Request->PopSubUrl();
if ($i-- == 0) exit; //security, can be removed
}
return $this->Maps[$this->Request->Url];
}
public function AddNav($Title, $Subs)
{
$this->Navigation[$Title] = $Subs;
}
}
?>
Bootstrap
PHP:
<?php
error_reporting(E_ALL);
session_start();
define('BOOST', dirname(__FILE__));
define('HTDOCS', dirname(BOOST));
require BOOST.'/CMS.php';
CMS::DoSCheck();
CMS::LoadLibrary();
CMS::ParseConfigFiles();
CMS::$MySql = new MySql(CMS::$Config);
CMS::$Router = new Router();
Users::CheckLogin();
CMS::LoadPackages();
foreach (CMS::$Packages as $Package)
{
CMS::$Router->MapPackage($Package);
}
?>
Index
PHP:
<?php
require './Boost/Bootstrap.php';
$Route = CMS::$Router->Load($_SERVER['REQUEST_URI']);
CMS::$Template = new Template($Route['Package']);
CMS::$Template->Title = substr($Route['Page'], 0, -4);
CMS::$Template->Define('Hotelname', CMS::$Config['cms.hotelname']);
CMS::$Template->Define('Online', Site::GetUsersOnline());
if (Users::$Session !== false)
{
CMS::$Template->Define('Username', Users::$Session->Name);
CMS::$Template->DefineArray('User', Users::$Session->Data);
}
CMS::$Template->SetFavicon('/web-gallery/v2/favicon.ico');
CMS::$Template->Output($Route['Page'], 'index.htm');
?>
Release is coming in one or two weeks, I'm working hard on it currently.
Pages Complete so far:
Login
Quickregister
Me
Account Settings
Community
Articles
Feedback
FAQ
About
Staff
R63A Client
Working On:
Recoded Housekeeping from QuickTPL (I really liked that one, but code was messy so I'll have to recode the functions)
Finding and fixing bugs (Haven't found anything yet, someone like to try it out on a live hotel?)
Expanding Account Settings, and Community
Planned:
R63B Client
Maybe a VIP Shop?
For more snippets just ask, but I'd like to get your interests first :