MayoMayn
BestDev
- Oct 18, 2016
- 1,423
- 683
Old demo:
All working pages etc except client.
LucidCMS is the fastest, smoothest, most secure and advanced Habbo CMS that this community has ever seen.
This is a project that I've spent more than 450 hours and 4 months on.
I'd like to quote down every single feature that this CMS has, but literally I don't bother to do so.
Components used:
Features
Code Snippets
class.controller.php
class.auth.php
class.storage.php
class.database.php
class.page.php
class.content.php
class.session.php
class.config.php
Screenies
Compatible with the latest Plus Emulator
What needs to be fixed?
What needs to be added?
All constructive criticism is appreciated.
If you any ideas for a feature that could be added, please comment.
Credits to @Synt4x for the template, @Damiens for the forum CSS, and @Sledmore for the values front-end.
You must be registered for see links
All working pages etc except client.
LucidCMS is the fastest, smoothest, most secure and advanced Habbo CMS that this community has ever seen.
This is a project that I've spent more than 450 hours and 4 months on.
Will it be free? I'm not sure, but if not, there's a minimal donation to receive a download.
Components used:
- composer
- php-di
- acclimate
- container-interop
- jquery
- ajax
- timeago
- emojione
- htmlpurifier
- tinymce
- bbcode
- bootstrap
Features
- Synced mysql and PHP for timezones.
- Allowing/disallowing the use of VPN/Proxy and country access.
- Minimal honeypot system using robots.txt
- Advanced Forum System.
- Profile Pages
- Values Page
- Login Streaks with badges
- Referral System with badges
- Preventing users from having 2 online on the same machine.
- New currency called "Activity Points" which are given upon daily reward depending on your login streak.
- Advanced Login Attempts table.
- Advanced Security
- Full PDO and Ajax
- Advanced housekeeping
- Auto Ban System for users that have refunded a purchase without it being allowed
- Advanced automatic shopping system
- Several social media connected to an account for faster login using a single button.
- Case opening using Activity Points and shop currency.
- Facebook emojis.
- If a user navigate to the hotel using a referral link, the code will stay as a cookie, so the user gets their referral.
- And more will follow..
Code Snippets
index.php
PHP:
<?php
/**
* Specify global settings
*/
error_reporting(E_ALL);
ini_set('display_errors', '1');
ini_set('session.gc_maxlifetime', 3600);
ini_set('session.gc_probability', 1);
ini_set('session.gc_divisor', 100);
session_save_path(__DIR__ . '/app/storage/sessions');
/**
* Autoload composer
*/
require_once __DIR__ . '/app/autoload.php';
/**
* Use namespaces for framworks
*/
use Acclimate\Container\ContainerAcclimator;
use Acclimate\Container\CompositeContainer;
/**
* Set new container and acclimator
*/
$acclimator = new ContainerAcclimator();
$container = new CompositeContainer();
/**
* New DI
*/
$builder = new \DI\ContainerBuilder();
/**
* Wrap DI with Container
*/
$builder->wrapContainer($container);
/**
* Build DIC
*/
$injector = $builder->build();
/**
* Acclimate Container to DIC
*/
$container->addContainer($acclimator->acclimate($injector));
/**
* Build Controller
*/
$controller = $container->get('Controller');
/**
* Wrap Controller with Container and Injector
*/
$controller->wrapContainers($injector, $container);
/**
* Prepare classes to be globally injected.
* @param string
* @var string
*/
$controller->prepareClasses([
'Database' => 'class.database.php',
'PageController' => 'class.page.php',
'ErrorController' => 'class.error.php',
'AuthController' => 'class.auth.php',
'ContentController' => 'class.content.php',
'RegisterController' => 'class.register.php',
'HomeController' => 'class.home.php',
'UserController' => 'class.user.php',
'Config' => 'class.config.php',
'Storage' => 'class.storage.php',
'Core' => 'class.core.php',
'FindRetros' => 'class.findretros.php',
'SessionController' => 'class.session.php'
]);
/**
* Inject Classes
*/
$controller->injectClasses();
/**
* Call Controllers
*/
$content = $container->get('ContentController');
$error = $container->get('ErrorController');
$page = $container->get('PageController');
$auth = $container->get('AuthController');
$user = $container->get('UserController');
$home = $container->get('HomeController');
$session = $container->get('SessionController');
$config = $container->get('Config');
$uid = $session->get('user.id');
/**
* Start session
*/
// session_set_save_handler($session, true);
/*if(!$session->isValid(5)) {
$session->forget();
}*/
/**
* Handle current page
*/
$page->handler();
/**
* param => variable
*
* @return void
*/
$page->setParams([
'hotelurl' => $config->hotel('url'),
'hotelname' => $config->hotel('name'),
'username' => $session->get('user.username'),
'title' => $page->current['title'],
'imaging' => $config->hotel('figure_imaging'),
'homebox' => $home->showbox(),
'figure' => $user->getInfo($uid, 'look'),
'fbappid' => $config->facebook('app_id'),
'diamonds' => $user->getInfo($uid, 'diamonds'),
'points' => $user->getInfo($uid, 'vip_points'),
'coins' => $user->getInfo($uid, 'credits'),
'duckets' => $user->getInfo($uid, 'activity_points'),
'date' => date('Y-m-d'),
'hotellogo' => $config->hotel('logo'),
'errorcontent' => $error->error(),
'referral' => (isset($_COOKIE['referral']) ? $_COOKIE['referral'] : ""),
'page' => $page->url,
'isreferralset' => (!isset($_COOKIE['referral']) ? '<a style="cursor:pointer;" id="referralLink" class="medium">Got referred by a user? Click here »</a>' : ""),
'csrftoken' => $auth->csrf_token(),
'loginattempts' => $auth->viewLoginAttempts()
]);
/**
* Call functions on specific pages
* page => [ class => function ]
*
* @return void
*/
$page->setFunctions([
'index' => [
'AuthController' => 'login'
],
'logout' => [
'AuthController' => 'logout'
],
'register' => [
'RegisterController' => 'signup'
],
'home' => [
'HomeController' => 'openbox'
]
]);
/**
* Output content on page
*/
$content->output();
class.controller.php
class.auth.php
class.storage.php
class.database.php
class.page.php
class.content.php
class.session.php
class.config.php
Screenies
User Interface
Housekeeping
VPN / Proxy Restriction
Index
Register
Home
Profile
Values
Forum
Shop
Client
Index
Register
Home
Profile
Values
Forum
Shop
You must be registered for see links
Client
Housekeeping
Settings Management
Badge Management
You must be registered for see links
Badge Management
You must be registered for see links
What needs to be fixed?
Sessions
Forum
Currently there are problems with the sessions, when using NGINX with HHVM on Linux.
Instead of updating the same session, it instead creates a whole new session every time its updated.
Instead of updating the same session, it instead creates a whole new session every time its updated.
Forum
Currently the tinymce doesn't interact the proper way it should with bbcode plugin.
Quoting another comment, fucks up because of tinymce, so I might have to swich to CKEditor instead.
Quoting another comment, fucks up because of tinymce, so I might have to swich to CKEditor instead.
What needs to be added?
Back-end
- Back-end is mostly finished, now I've just got to recode all the pages, so it works for the new barebone system.
- Housekeeping needs to be finish coded.
- Easy language control
- 2 MUS commands for Plus Emulator, so the user doesn't have to reload their client to receive badges or items.
- Easy installation, no need for editing SWF external texts or edit of any files, all can be done in the Housekeeping Settings Management.
All constructive criticism is appreciated.
If you any ideas for a feature that could be added, please comment.
Donation is appreciated!
This will assure a release and future updates of this CMS, as I've spent many hours and a lot of server costs to code this.
This will assure a release and future updates of this CMS, as I've spent many hours and a lot of server costs to code this.
You must be registered for see links
Credits to @Synt4x for the template, @Damiens for the forum CSS, and @Sledmore for the values front-end.
Last edited: