LatrinaCMS - PHP 7 - Must Use!!

Status
Not open for further replies.

Seriosk

Programmer;
Oct 29, 2016
256
105
LatrinaCMS
b3d48bcd88d64b4fb008f6ef41f65755.png

Hello, I am here with a brand new development but this time its written in PHP and its code name is LatrinaCMS. LatrinaCMS is a content management system for habbo retros that has a vast array of features to suit everyone.

Thanks to @JynX for this, I saw he released my Boon Rip previously and it kind of inspired me to start this.

Unique Features
  • Scheduled Database Backups
  • MySQL error logs
  • Pretty Speedy
  • Multiple Languages
  • Facebook, Twitter and Google login / signup with methods.
  • Welcome Emails
  • Optional Email Confirmation
  • Working "Forgot Password" system
  • Fully Working advanced HK
  • Optional VPN blocking

Why Latrina?
LatrinaCMS really is simple to use, and the fact its fast and secure helps a lot. Where other CMS's such as Rev or Uber each edit has their own unique features, LatinaCMS has all the features together and is easily enabled/disabled to suit your needs.

Library's used (Will update if changed)
  • Twig Template Engine
  • PHPMailer
  • Whoops!
  • Facebook Graph API
  • Google Login API
  • Twitter Login API

Themes Included
  • Habboon rip
  • Fresh rip
  • Peace rip
  • Official LatrinaCMS theme (Created in Material CSS)
  • Boostrap Theme (Created in Bootstrap by myself)
  • Bulma Theme (Created in Bulma by myself)
  • Rise rip

Can I use my Rev theme on LatrinaCMS?
It would be very hard to convert your theme to Latrinas structure using programming (I thought of an app that would convert rev themes to Latrina themes) because many people hard code MySQL and the fact that Latrina doesn't use MySQL at all is kind of hard, but I will manually convert a theme over to LatrinaCMS if its worth adding and other people would like to see it.

Code Snippets:
Code:
$this->connection = mysqli_connect(
            $config->getConfig('database', 'hostname'),
            $config->getConfig('database', 'username'),
            $config->getConfig('database', 'password'),
            $config->getConfig('database', 'name'),
            $config->getConfig('database', 'port'));

Code:
Latrina::getLibrary('latrina.config.config')->load();
Latrina::getLibrary('latrina.error.error')->load();
Latrina::getLibrary('latrina.database.database')->connect();
Latrina::getLibrary('latrina.template.template')->run();

Screenshots:
8ccf2abfd57c42f0be451da657bea218.png

e86fc92f83ea4e64a5d0620d3bec5776.png

7ba662a4b15240bab1a314b771f880e4.png

I haven't really included everything I have planned / already completed but I will answer any questions, take ideas and I'll also update the thread later on with more things that you can expect from this.

I'll also most definitely post screenshots of the themes and website in action shortly, I'm currently just trying to get the back-end code finished.
 
Last edited:

LeChris

John 15:18
Sep 30, 2013
2,786
1,395
Depressing code style, most of your themes are the original habbo shit, and mainly planning with lack to do.

If you want automation, PHP isn't the best language due to it's limitations more the less go for something on a Node backend, or even Java is great for web backend servers.
 

Chrobens

Member
Sep 17, 2015
28
2
Depressing code style, most of your themes are the original habbo shit, and mainly planning with lack to do.

If you want automation, PHP isn't the best language due to it's limitations more the less go for something on a Node backend, or even Java is great for web backend servers.
Everyone starts somewhere, move on with your negativity buddy :] If he wants to do his OWN PHP CMS then he can, should only reply here if you're going to support him.
And because he doesn't code to your standards isn't clearance to call it depressing.

Good luck with this.:up:
 

LeChris

John 15:18
Sep 30, 2013
2,786
1,395
Everyone starts somewhere, move on with your negativity buddy :] If he wants to do his OWN PHP CMS then he can, should only reply here if you're going to support him.
And because he doesn't code to your standards isn't clearance to call it depressing.

Good luck with this.:up:
Why did you capitalize the word 'own'. You act as if coding one is hard, when PHP is literally nothing but the tools to make a CMS easily within 5-30 minutes.

He also isn't a beginner, but you don't know much regarding Liam :) Calm down there with the inspiration obsession, my standards are only up to par with modern standards - even then I fall behind unless using a framework
 
  • Like
Reactions: JMS

Seriosk

Programmer;
Oct 29, 2016
256
105
Depressing code style, most of your themes are the original habbo shit, and mainly planning with lack to do.

If you want automation, PHP isn't the best language due to it's limitations more the less go for something on a Node backend, or even Java is great for web backend servers.
I appreciate your feedback, I'm not going down the road of node because many people in this community probably wouldn't use it as much as if it was a PHP CMS, and if it isn't broke then why fix? I guess I'm just trying to keep it Noob-Friendly.

Maybe a node CMS can come in the future..
 

LeChris

John 15:18
Sep 30, 2013
2,786
1,395
I appreciate your feedback, I'm not going down the road of node because many people in this community probably wouldn't use it as much as if it was a PHP CMS, and if it isn't broke then why fix? I guess I'm just trying to keep it Noob-Friendly.

Maybe a node CMS can come in the future..
Truth be told, anything that provides more features than the standard Rev release wouldn't be used.
 

Chrobens

Member
Sep 17, 2015
28
2
Why did you capitalize the word 'own'. You act as if coding one is hard, when PHP is literally nothing but the tools to make a CMS easily within 5-30 minutes.

He also isn't a beginner, but you don't know much regarding Liam :) Calm down there with the inspiration obsession, my standards are only up to par with modern standards - even then I fall behind unless using a framework

I emphasized the phrase 'own' because it's his CMS he's developing and you just busted onto his thread calling his code depressing and being negative, could've put it in better, more supportive terms pal.
There aren't any standards, only methods of programming; everyone has their own way.
 
I appreciate your feedback, I'm not going down the road of node because many people in this community probably wouldn't use it as much as if it was a PHP CMS, and if it isn't broke then why fix? I guess I'm just trying to keep it Noob-Friendly.

Maybe a node CMS can come in the future..
Node is a good approach, many opportunities with modules to incorporate social media login etc.
Many tools that come with Node, and the possibility to have a site and emulator run in one Node app!

Anyways: develop this, features sound great.
 

Seriosk

Programmer;
Oct 29, 2016
256
105
Working on authentication (finally)
Code:
public function onLoginPosted()
    {
        if (isset($_POST['login_form_submit']))
        {
            $this->login($_POST['login_username'], $_POST['login_password']);

            if ($this->loggedIn())
            {
                header("Location: " . Latrina::getLibrary('latrina.config.config')->getConfig('authentication', 'login_redirect_page'));
                exit();
            }
            else
            {
                header("Location: " . Latrina::getLibrary('latrina.config.config')->getConfig('authentication', 'failed_redirect_page'));
                exit();
            }

            Latrina::getLibrary('latrina.post.post')->resetPost();
        }
    }
 

Seriosk

Programmer;
Oct 29, 2016
256
105
So I started using Kleins routing library

Example: (still messing around with it to learn it)
Code:
$this->klein->respond('GET', '!@^/login|/register', function ($request, $response, $service, $app) {
            if (!Latrina::getLibrary('latrina.user.user')->loggedIn()) {
                if (strpos($request, 'login') !== false) {
                    $response->redirect('/login')->send();
                } else {
                    $response->redirect('/register')->send();
                }
            }
        });
 

Synt4x

Member
Jan 13, 2016
77
59
So I started using Kleins routing library

Example: (still messing around with it to learn it)
Code:
$this->klein->respond('GET', '!@^/login|/register', function ($request, $response, $service, $app) {
            if (!Latrina::getLibrary('latrina.user.user')->loggedIn()) {
                if (strpos($request, 'login') !== false) {
                    $response->redirect('/login')->send();
                } else {
                    $response->redirect('/register')->send();
                }
            }
        });
The routing code looks like death. Why is there logic mixed with the routes? Personally, I think the two should be separate.
 

Seriosk

Programmer;
Oct 29, 2016
256
105
The routing code looks like death. Why is there logic mixed with the routes? Personally, I think the two should be separate.
How can they be separate? if they were separate the first trigger of "doesn't start with /login" would be triggered when visiting /register and would result in /register not being able to be visited.

And yes I know the routes are messy, I'm still experimenting with Klein
 

Synt4x

Member
Jan 13, 2016
77
59
How can they be separate? if they were separate the first trigger of "doesn't start with /login" would be triggered when visiting /register and would result in /register not being able to be visited.

And yes I know the routes are messy, I'm still experimenting with Klein
I'm not sure how much logic you have in your routes, I suppose if it's just a couple of routes then it isn't too bad. But you should certainly look into moving them into controllers to keep them more manageable.

Take a look at Symfony's routing system - . You can also see their . Keep up the good work though.
 

Seriosk

Programmer;
Oct 29, 2016
256
105
I'm not sure how much logic you have in your routes, I suppose if it's just a couple of routes then it isn't too bad. But you should certainly look into moving them into controllers to keep them more manageable.

Take a look at Symfony's routing system - . You can also see their . Keep up the good work though.
I'm not using Symfony, if I was I would use their route system. Also about your idea for controllers I will be putting them in controllers once I have finished messing around with it and got the structure I am looking for.
 

MayoMayn

BestDev
Oct 18, 2016
1,423
683
Which text editor did you use for this? Sublime? If yes which theme? Looks good btw good luck!

Sent from my SM-G928F using Tapatalk
 

Seriosk

Programmer;
Oct 29, 2016
256
105
Which text editor did you use for this? Sublime? If yes which theme? Looks good btw good luck!

Sent from my SM-G928F using Tapatalk
Text Editor: Atom
Theme: An old hope
 
This isn't official code but its something I have been playing around with the last few days
Kind of came from what @Synt4x said

Code:
<?php
class IndexController
{
    private $redirectIfGuest = false;
    private $redirectIfUser = true;

    public function Load()
    {

    }

    public function OnLoad()
    {

    }
}
?>
 
Updates:
@Synt4x is now collaborating on this with me
Moved away from library's (Coding our own)

I have left Twig library there for now because I actually genuinely like it, maybe we'll move to our own template engine library soon, who knows.
 

Ghost

Legacy, it's all anyone leaves behind.
Jun 8, 2012
1,640
503
Depressing code style, most of your themes are the original habbo shit, and mainly planning with lack to do.

If you want automation, PHP isn't the best language due to it's limitations more the less go for something on a Node backend, or even Java is great for web backend servers.

I'm not using Symfony, if I was I would use their route system. Also about your idea for controllers I will be putting them in controllers once I have finished messing around with it and got the structure I am looking for.

Chris' just Salty someone made a CMS using PHP 7 before he could finish his update of RevCMS using PHP7

But then again all users are entitled of their opinion, not all developers make things in the most perfect way, which enables you to learn from each CMS, theme, anything that you've coded or made.

Atleast @Sage has made something he can look back on later and make it alot better in the future. Good job buddy.
 
Last edited:
Status
Not open for further replies.

Users who are viewing this thread

Top