- Joined
- Sep 2, 2011
- Messages
- 2,171
- Reaction score
- 916
Hello, this it's the mobbo development thread.
What is mobbo?
mobbo it's a habbo environment social cms, with the mobbo you can get the MAX of response and speed of a Habbo CMS, it's a CMS with template system, plugins system, hooks system, logs system, languages system, parsering system, request system, and more. And uses PDO, and have a Installer.
How to install?
You can install mobbo using only tree steps:
1-Import a Habbo Database on your MySQL server
2- Extract the mobbo on your Web Server
3- Access the cms in the web browser and follow the Setup Steps.
How the Template system works
The Template system it's composed with 5 SubClasses:
1 - Pages (Manage and load the requests of Pages)
2 - Parsering (Parse the content of the Template)
3 - Actions (Parse the Requests Actions)
4 - ParserAPI (It's a customizable class. and in that your create functions for the parser interpreter)
5 - Templates (Manage the templates and check what template it's active and control the response of non .php files)
The Classes
Mobbo have all-in-built Classes:
- Downloader.class.php (Download Files using CURL)
- ZipClass.class.php (Manage .zip files)
- Transaction.class.php (Manage the SQL Transactions)
- Connection.class.php (Manage the Database Connection)
- LoggerTXT,XML,HTML (Manage the interpreter of the Logs)
- Security.class.php (Provide anti-DDOS Functions, and Injection filters)
- Logger.class.php (Controls the Logs)
- Translation.class.php (Controls the Translation Interface)
And so More..
How works the Translation System
Folder: /application/languages/LANGNAME.lang
The Translation class cooperate with the Parsering Class, you can invoke a Line of your language file using
[{(NO_OF_LINE)}]
You can setup your language on the settings.ini
How work Pages System
All .php Pages are been redirected to index.php
But this file makes that:
if you call ?action=ACTION_NAME
The Interpreter will call a Function of the Actions.class.php, The Login, Register, and other Internal Functions thtat don't need a .php File are deposited in this class.
if you call ?pages=PAGENAME
The interpreter will call a page from your template.
if you call ?settings=VARIABLE||1
You can use a function of the Parser interpreter.
An example:
How Work the Template System
You can Create templates and plugins on
The Template work in that:
1- the template created pick the .zip name, if you .zip call Habbo.zip, the template will be named Habbo
2- In the .zip the files are directly putted and have an Template.ini
3- the template.ini say to the template system the desc, and version, and author of Theme
4- If have an folder web-gallery in the .zip , the Template system will make a copy to the /gallery/.
Logs System
The logs system are fresh, you can make logs of users actions, files access, sql transactions, and errors, and ddos attacks.
The Transaction
The transaction.class.php uses the PDO functionallitys and create based-mysql-functions;
Example:
Images of the CMS
Snippets
(Pages.class.php)
Github
You can Clone or download the CMS on Github
Works with
Sukis, Plus, Phoenix, Uber, Swift..
Credits
ZURB - Foundation Framework
bi0s (me) - Maked the cms from SCRATCH
Updated on
22/08/2014
Contact
Skype: live:sant0ro
Twitter: @m0vame
Thanks.
What is mobbo?
mobbo it's a habbo environment social cms, with the mobbo you can get the MAX of response and speed of a Habbo CMS, it's a CMS with template system, plugins system, hooks system, logs system, languages system, parsering system, request system, and more. And uses PDO, and have a Installer.
How to install?
You can install mobbo using only tree steps:
1-Import a Habbo Database on your MySQL server
2- Extract the mobbo on your Web Server
3- Access the cms in the web browser and follow the Setup Steps.
How the Template system works
The Template system it's composed with 5 SubClasses:
1 - Pages (Manage and load the requests of Pages)
2 - Parsering (Parse the content of the Template)
3 - Actions (Parse the Requests Actions)
4 - ParserAPI (It's a customizable class. and in that your create functions for the parser interpreter)
5 - Templates (Manage the templates and check what template it's active and control the response of non .php files)
The Classes
Mobbo have all-in-built Classes:
- Downloader.class.php (Download Files using CURL)
- ZipClass.class.php (Manage .zip files)
- Transaction.class.php (Manage the SQL Transactions)
- Connection.class.php (Manage the Database Connection)
- LoggerTXT,XML,HTML (Manage the interpreter of the Logs)
- Security.class.php (Provide anti-DDOS Functions, and Injection filters)
- Logger.class.php (Controls the Logs)
- Translation.class.php (Controls the Translation Interface)
And so More..
How works the Translation System
Folder: /application/languages/LANGNAME.lang
The Translation class cooperate with the Parsering Class, you can invoke a Line of your language file using
[{(NO_OF_LINE)}]
You can setup your language on the settings.ini
How work Pages System
All .php Pages are been redirected to index.php
But this file makes that:
if you call ?action=ACTION_NAME
The Interpreter will call a Function of the Actions.class.php, The Login, Register, and other Internal Functions thtat don't need a .php File are deposited in this class.
if you call ?pages=PAGENAME
The interpreter will call a page from your template.
if you call ?settings=VARIABLE||1
You can use a function of the Parser interpreter.
An example:
Code:
RewriteRule ^me(|/)$ ./index.php?pages=header-me-footer&settings=users||1--plugins||1--settings||1--languages||1--hooks||1
How Work the Template System
You can Create templates and plugins on
You must be registered to see links
, and in the HK you make upload of a zip.The Template work in that:
1- the template created pick the .zip name, if you .zip call Habbo.zip, the template will be named Habbo
2- In the .zip the files are directly putted and have an Template.ini
3- the template.ini say to the template system the desc, and version, and author of Theme
4- If have an folder web-gallery in the .zip , the Template system will make a copy to the /gallery/.
Logs System
The logs system are fresh, you can make logs of users actions, files access, sql transactions, and errors, and ddos attacks.
The Transaction
The transaction.class.php uses the PDO functionallitys and create based-mysql-functions;
Example:
Code:
Transaction::query("....");
Transaction::fetch('....');
Transaction::evaluate('.....');
Images of the CMS
Index:You must be registered to see links
Register:You must be registered to see links
Loading:You must be registered to see links
Home:You must be registered to see links
Home 2:You must be registered to see links
Profile:You must be registered to see links
Comunidade:You must be registered to see links
Members:You must be registered to see links
Shop:You must be registered to see links
Staffs:You must be registered to see links
Safety:You must be registered to see links
Painel Login:You must be registered to see links
Painel Home:You must be registered to see links
404 Not Found:You must be registered to see links
405 Manutenção:You must be registered to see links
[Screens on PT-BR]
Snippets
Code:
<?php
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
/**
* Description of Pages
*
* @author Gisele Santoro
*/
class Pages extends Parsering
{
private
$page;
private
$name;
private
$args;
private
$path;
protected
$geton = Array();
private
function run()
{
if ($_GET)
{
$oct = Actions::Names();
foreach ($oct as $ind => $val)
{
if (array_key_exists($val, $_GET))
{
Actions::show($val);
}
}
$act = isset($_GET['actions']) ? htmlspecialchars($_GET['actions']) : 1;
$pae = isset($_GET['pages']) ? htmlspecialchars($_GET['pages']) : 'index';
$this->geton = $_GET;
if ($act != 1)
{
if ($act != 0 || $act != 1)
{
self::actions($act);
}
}
else if (isset($pae) || $act != 0 || $act != 1)
{
if ($pae != 0 || $pae != 1 || $pae != 'index')
{
$pag = strpos($pae, '-') ? explode('-', $pae) : $pae;
if (is_array($pag))
{
$this->name = $pag;
foreach ($pag as $ind => $vale)
{
if ($this->page == NULL)
{
parent::template(TEMPLATES . $this->path . '/' . $vale . '.php', $this->args);
$this->page = parent::display();
}
else
{
parent::template(TEMPLATES . $this->path . '/' . $vale . '.php', $this->args);
$this->page .= parent::display();
}
}
}
else
{
$this->name = $pag;
parent::template(TEMPLATES . $this->path . '/' . $pag . '.php', $this->args);
$this->page = parent::display();
}
}
else
{
parent::template(TEMPLATES . $this->path . '/index.php', $this->args);
$this->page = parent::display();
}
}
}
else
{
parent::template(TEMPLATES . $this->path . '/index.php', $this->args);
$this->page = parent::display();
}
}
private
function getdefault()
{
$query = Transaction::query("SELECT * FROM mobbo_templates WHERE active = '1' LIMIT 1;");
$row = Transaction::fetch($query);
$this->path = $row['path'];
}
public
function __construct($args = array())
{
if (is_array($args) || $args != NULL)
{
$this->args = $args;
}
self::getdefault();
self::run();
}
public
function show()
{
if (isset($this->page))
{
if ($this->page != 0 || $this->page != 1)
{
return $this->page;
}
}
}
private
function Actions($act = array())
{
Actions::show($act);
}
function __destruct()
{
if (is_array($this->name))
{
$page = implode('+', $this->name);
}
else
{
$page = $this->name;
}
$ip = $_SERVER['REMOTE_ADDR'];
Transaction::log("The page $page has been accessed by ip $ip", 'logs');
Transaction::destruir();
}
public
static
function full_url($s)
{
$ssl = (!empty($s['HTTPS']) && $s['HTTPS'] == 'on') ? true : false;
$sp = strtolower($s['SERVER_PROTOCOL']);
$protocol = substr($sp, 0, strpos($sp, '/')) . (($ssl) ? 's' : '');
$port = $s['SERVER_PORT'];
$port = ((!$ssl && $port == '80') || ($ssl && $port == '443')) ? '' : ':' . $port;
$host = isset($s['HTTP_X_FORWARDED_HOST']) ? $s['HTTP_X_FORWARDED_HOST'] : isset($s['HTTP_HOST']) ? $s['HTTP_HOST'] : $s['SERVER_NAME'];
return $protocol . '://' . $host . $port . $s['REQUEST_URI'];
}
}
Github
You can Clone or download the CMS on Github
You must be registered to see links
Works with
Sukis, Plus, Phoenix, Uber, Swift..
Credits
ZURB - Foundation Framework
bi0s (me) - Maked the cms from SCRATCH
Updated on
22/08/2014
Contact
Skype: live:sant0ro
Twitter: @m0vame
Thanks.