CODE
<?php
/* @project proCMS
* @author Kacper 'ownede' Smółkowski
------------------------------------------
* @file <index.php>
* @title index page
*/
$time_start = microtime(true);
session_start();
if(!ob_start("ob_gzhandler"))
{
ob_start();
$gzip = false;
}
else $gzip = true;
include('kernel/core.php');
// Initializing languages
#todo: save lang to users profile
if( isset($cms -> cookie['lang']) )
{
if( isset($cms -> get['lang']) )
{
$cms -> setCookie('lang', $cms -> get['lang']);
$cms -> lang -> set($cms -> get['lang']);
}
else
{
$cms -> lang -> set($cms -> cookie['lang']);
}
}
else
{
$cms -> setCookie('lang', $cms -> lang -> config['lang']);
}
$cms -> lang -> load('main');
foreach($config['modules_enabled'] as $module)
{
if($cms -> lang -> exist($module['lang'])) $cms -> lang -> load($module['lang']);
if(file_exists("modules/".$module['name']."/module.php"))
{
include("modules/".$module['name']."/module.php");
$cms -> modules[$module['name']] = $cms -> createObject("module_".$module['name']);
$cms -> modules[$module['name']] -> Init();
}
}
// Initializing modules
if( !isset($cms -> get['mod']) )
{
$cms -> mod = "news";
}
else
{
$cms -> mod = $cms -> get['mod'];
$invalid = array('/', '/\/', ':', '.');
$cms -> mod = str_replace($invalid, ' ', $cms -> mod);
}
/*if(!$cms -> isModuleEnabled($cms -> mod))
{
die("Choosen module is not enabled");
}*/
$cms -> module = $cms -> modules[$cms -> mod];
/*include("modules/".$cms -> mod."/module.php");
$cms -> module = $cms -> createObject("module_".$cms -> mod);
$cms -> module -> Init();*/
// Initializing pages
if( !isset($cms -> get['page']) )
{
$cms -> page = $cms -> module -> main_page;
}
else
{
$cms -> page = $cms -> get['page'];
$invalid = array('/', '/\/', ':', '.');
$cms -> page = str_replace($invalid, ' ', $cms -> page);
}
// Does our page exist?
if(!file_exists("modules/".$cms -> mod."/".$cms -> page.".page.php"))
{
$cms -> page = $cms -> module -> main_page;
}
// Adding modules list to template
$cms -> tpl -> add_loop('_header', 'modules', $config['menu_modules']);
// Let's show the header!
$cms -> tpl -> show('_header', array('title' => "ownede's engine"));
// ... and render the page ...
include("modules/".$cms -> mod."/".$cms -> page.".page.php");
$cms -> page = $cms -> createObject("page_".$cms -> page);
$cms -> tpl -> append ($cms -> page -> Render());
// Logged check
if(!$cms -> isModuleEnabled('users'))
{
$bool = $cms -> modules['users'] -> isLogged();
if($bool == 1)
{
$logged = yn($bool)." (".$_SESSION['user_login'].")";
}
else
{
$logged = yn($bool);
}
}
else
{
$logged = "User's module off";
}
// Let's calculete script's generation time
$time_end = microtime(true);
$time = $time_end - $time_start;
// ... Well done! Here comes a footer.
$cms -> tpl -> show('_footer',array('queries' => $cms -> db -> queries,
'memory_usage' => Utils::byte_convert(memory_get_usage(true)),
'generation_time' => round($time, 2).' s',
'gzip' => yn($gzip),
'logged' => $logged));
$cms -> tpl -> printPage();
// Rest in peace
include('kernel/shutdown.php');
?>