KuntaCMS is the best CMS for a very social community. With its easy, fluid, slick design it's very easy to get where you want to go and do what you want to do.
GENERAL FEATURES
- Object Oriented Programming (Most of it)
- Using MYSQLi API
- Simple Backup System
- Cron System
- Secure Sessions
- Custom TPL System with auto caching
- Enhanced errors and exceptions
- Language System
- Automatic Update System
- Simple Logs
- Responsible design (thanks to Twitter Bootstrap)
- Easy and fast installer
- A lot of jQuery & Ajax use
- SHA-512 for hashing
- Custom Homes System made completely from scratch
... and more!
PROGRESS
75%
IMAGES
http://i.imgur.com/i2wtJER.png
http://i.imgur.com/6YmCD5A.png
http://i.imgur.com/thyAw9V.png
http://i.imgur.com/2GxZCeB.png
http://i.imgur.com/N1dV6rU.png
http://i.imgur.com/AciYv5p.png
http://i.imgur.com/iB2IRNw.png
http://i.imgur.com/S1tUJTr.png
http://i.imgur.com/pSgMwjG.png
http://i.imgur.com/r1dA10H.png
http://i.imgur.com/VYjp3K8.png
http://i.imgur.com/lOpKyIO.png
http://i.imgur.com/SGah5L0.png
http://i.imgur.com/8cYbbXQ.png
http://i.imgur.com/rHYTs16.png
http://i.imgur.com/clntJhV.png
SNIPPETS
Code:
<?php
/**
__ ____ ___ ___________ ___ ___
/ //_/ / / / |/ /_ __/ _ | |_ | / _ \
/ ,< / /_/ / / / / / __ | / __/_/ // /
/_/|_|\____/_/|_/ /_/ /_/ |_| /____(_)___/
Professionaly made Noob friendly
Lightweight system Not vulnerable
Impressive speed Multilanguage
© 2013 - 2014 All Rights Reserved
**/
$Config = array();
/** Database Configuration **/
$Config['Database']['Host'] = 'localhost'; # Database host
$Config['Database']['User'] = 'root'; # Database user
$Config['Database']['Pass'] = ''; # Database password
$Config['Database']['Name'] = 'db'; # Database name
/** Cronjob Configuration **/
$Config['Cron']['Status'] = true; # True/False
$Config['Cron']['Backup']['Status'] = true; # True/False
$Config['Cron']['Backup']['Timer'] = 3600; # Time (seconds)
/** Update Settings **/
$Config['Update']['Status'] = true; # True/False
$Config['Update']['Link'] = 'http://www.kuntacms.eu/?u='; # Update URL (Check www.kuntacms.eu)
/** Server Configuration **/
$Config['Emulator']['SSO'] = 'user_tickets'; # "user_tickets", "auth_ticket"
/** Auth Configuration **/
$Config['Auth']['HttpOnly'] = true; # True/False
$Config['Auth']['Secure'] = false; # True/False
/** Site Configuration **/
$Config['Site']['Name'] = 'Habbine Hotel'; # Long name
$Config['Site']['Shortname'] = 'Habbine'; # Short name
$Config['Site']['Nickname'] = 'Habbiner@'; # Nickname
$Config['Site']['Desc'] = 'The best way to play.'; # Description
$Config['Site']['Link'] = 'http://localhost'; # Site URL
$Config['Site']['Lang'] = 'ES'; # "ES", "EN"
$Config['Site']['Status'] = 'on'; # "on", "off"
$Config['Site']['Theme'] = 'Trinity'; # "Habbo", "Aurora", "Trinity", "Bootstrap"
$Config['Site']['Cache'] = false; # True/False
?>
PHP Code:
<?php
/**
__ ____ ___ ___________ ___ ___
/ //_/ / / / |/ /_ __/ _ | |_ | / _ \
/ ,< / /_/ / / / / / __ | / __/_/ // /
/_/|_|\____/_/|_/ /_/ /_/ |_| /____(_)___/
Professionaly made Noob friendly
Lightweight system Not vulnerable
Impressive speed Multilanguage
© 2013 - 2014 All Rights Reserved
**/
class Frontpage
{
protected $Error;
protected $Tpl;
Public Function __construct($tpl)
{
/** Append to selected template **/
$this->Tpl = $tpl;
$this->Tpl->Set("FRONTPAGE->ERROR", null);
}
Public Function Login($_EMAIL, $_PASSWORD, $_NAKED)
{
global $Auth;
global $db;
if ( !$_EMAIL or !$_NAKED ) {
self::SetError("Please enter your email and password to login.");
} else {
if($Auth->Login($_EMAIL, $_PASSWORD, $db) == false)
{
self::SetError("Incorrect details. <a class='forgot' href='#'>Forgot your password?</a>");
} else {
$Update = array();
$Update['lastonline'] = time();
$db->where('id', $User->Data('id'));
$db->update('users', $Update);
header("HTTP/1.0 302 Moved Temporarily");
header("Location: ?p=Me");
header("Cache-Control: private");
header("Vary: User-Agent, Accept-Encoding");
}
}
}
Public Function SetError($_MESSAGE)
{
$this->Error = $_MESSAGE;
$this->Tpl->Set("FRONTPAGE->ERROR", '<div id="login-errors">' . $this->Error . '</div>');
}
}
?>
PHP Code:
<?php
/**
__ ____ ___ ___________ ___ ___
/ //_/ / / / |/ /_ __/ _ | |_ | / _ \
/ ,< / /_/ / / / / / __ | / __/_/ // /
/_/|_|\____/_/|_/ /_/ /_/ |_| /____(_)___/
Professionaly made Noob friendly
Lightweight system Not vulnerable
Impressive speed Multilanguage
© 2013 - 2014 All Rights Reserved
**/
Class User
{
Public $Id;
Public Function __construct($_Id)
{
$this->Id = $_Id;
}
Public Function Data($_INFO)
{
Global $db;
$data = $db->where('id', $this->Id)->get('users', 1);
return $data['0'][$_INFO];
}
Public Function getDataById($_ID, $_INFO)
{
Global $db;
$data = $db->where('id', $_ID)->get('users', 1);
return $data['0'][$_INFO];
}
Public Function getDataByName($_NAME, $_INFO)
{
Global $db;
$data = $db->where('username', $_NAME)->get('users', 1);
return $data['0'][$_INFO];
}
Public Function GetInfo($_ID, $_INFO)
{
Global $db;
$data = $db->where('user_id', $_ID)->get('user_info', 1);
return $data['0'][$_INFO];
}
Public Function isBanned($_VALUE)
{
Global $db;
$Param = array(time(), $_VALUE);
$Data = $db->rawQuery("SELECT * FROM bans WHERE expire > ? AND value = ?", $Param);
return ( count($Data) == 0 ) ? false : true;
}
}
?>
Code:
function AppendSticker(e, t, n) {
console.log('[' + Page + '] Kunta: Sticker with id "' + t + '" has been appended.');
if (Owner == true) {
var r = "draggable"
} else {
var r = ""
}
$("#myspace").append('<img id="' + t + '" style="' + n + '" class="' + r + ' delete" src="' + e + '"">');
$(".draggable").draggable({
containment: "parent",
refreshPositions: true
})
}
function NewSticker(e, t) {
var n = {
image: e,
owner: t
};
$.ajax({
data: n,
url: "/Application/Ajax/__ajaxProfile.php?a=AddWidget&p=" + Player + "",
type: "post",
success: function (t) {
AppendSticker(e, t, "position:absolute")
}
})
}
$.getJSON("/Application/Ajax/__ajaxProfile.php?a=GetWidgets&p=" + Player + "", function (e) {
for (i = 0; i < e.length; i++) {
var t = e[i];
AppendSticker(t["url"], t["id"], t["style"])
}
});
$(".save").click(function () {
cn = document.getElementById("myspace").childNodes;
for (var e = 0; e < cn.length; e++) {
if (cn[e].nodeType == 1) {
var n = {
id: cn[e].id,
left: cn[e].style.left,
top: cn[e].style.top
};
$.ajax({
data: n,
url: "/Application/Ajax/__ajaxProfile.php?a=SavePosition",
type: "post",
cache: true,
async: false,
success: function (e) {}
})
}
}
t("Your page has been saved.")
});