<?php
/**
* Main index.php
* @package Broker
*/
// settings
require_once ("includes/defaults.inc.php");
if(!file_exists(SITE_ROOT_DIR . "vendor/autoload.php")) {
die("run composer on ".SITE_ROOT_DIR);
} else {
require_once (SITE_ROOT_DIR . "vendor/autoload.php");
}
// load configuration
$configuration = new \Broker\Configuration ( SITE_CONFIG_DIR . "config.inc.php" );
// smarty
$smarty = new Smarty ();
$smarty->setTemplateDir ( SITE_LAYOUT_SMARTY_TEMPLATES_DIR );
$smarty->setCompileDir ( SITE_CACHE_SMARTY_TEMPLATESC_DIR );
$smarty->setCacheDir ( SITE_CACHE_SMARTY_CACHE_DIR );
$smarty->setConfigDir ( SITE_LAYOUT_SMARTY_CONFIG_DIR );
// create basic output
header ( "Content-Type: text/html; charset=utf-8" );
$smarty->assign ( "_SITE_LOCATION", SITE_LOCATION );
$smarty->assign ( "_LAYOUT_DIR", LAYOUT_DIR );
if ($configuration->installed ()) {
// authentication
$authentication = new \Broker\Authentication ( $configuration->getConfig ( "authentication" ) );
// create output
header ( "Content-Type: text/html; charset=utf-8" );
$smarty->assign ( "_SITE_LOCATION", SITE_LOCATION );
$smarty->assign ( "_SITE_ROOT_DIR", SITE_ROOT_DIR );
$smarty->assign ( "_LAYOUT_DIR", LAYOUT_DIR );
$smarty->assign ( "_authentication", $authentication );
$smarty->assign ( "_configuration", $configuration );
if ($authentication->access ()) {
if (isset ( $_GET ["operation"] ) && is_string ( $operation = $_GET ["operation"] ) && (trim ( $operation ) != "")) {
$smarty->assign ( "_smartyIncludeModule", $operation );
if (preg_match ( "/^[a-z]+$/i", $operation )) {
if (file_exists ( SITE_INCLUDES_MODULES_DIR . $operation . ".inc.php" )) {
include_once (SITE_INCLUDES_MODULES_DIR . $operation . ".inc.php");
$smarty->assign ( "_smartyIncludeBlock", "module/block_" . $operation . ".tpl" );
} else {
header ( "HTTP/1.0 404 Not Found" );
$smarty->assign ( "_smartyIncludeBlock", "block_notfound.tpl" );
}
} else {
header ( "HTTP/1.0 404 Not Found" );
$smarty->assign ( "_smartyIncludeBlock", "block_notfound.tpl" );
}
} else {
$smarty->assign ( "_smartyIncludeModule", "" );
$smarty->assign ( "_smartyIncludeBlock", "block_home.tpl" );
}
} else {
if (strtoupper ( $_SERVER ['REQUEST_METHOD'] ) == "POST") {
if(isset ( $_GET ["operation"]) && is_string($_GET ["operation"]) && $_GET["operation"]=="search") {
header ( "HTTP/1.0 403 Forbidden" );
echo ("No access, please register IP or provide a (valid) key to get access");
exit ();
}
}
if (file_exists ( SITE_INCLUDES_MODULES_DIR . "login.inc.php" )) {
include_once (SITE_INCLUDES_MODULES_DIR . "login.inc.php");
$smarty->assign ( "_smartyIncludeModule", "login" );
$smarty->assign ( "_smartyIncludeBlock", "module/block_login.tpl" );
}
}
$smarty->display ( "index.tpl" );
} else {
$smarty->assign ( "_SITE_ROOT_DIR", SITE_ROOT_DIR );
$smarty->display ( "install.tpl" );
}
?>