<?php
session_start();
define('DS', DIRECTORY_SEPARATOR);
define('ROOT', dirname(__FILE__));

// if(file_exists(ROOT.DS.'inc'.DS.'config.inc.php'))
//     include_once(ROOT.DS.'inc'.DS.'config.inc.php');
// else die('ERR: no config file found :(');

include_once(ROOT.DS.'inc'.DS.'core.php');
includeManagement();

if($_SERVER['HTTP_HX_REQUEST']!='true')
{
    include(ROOT.DS.'templates'.DS.'mainpage.html');
    die();
}

if($_GET['url'])
        $url = explode('/',ltrim(parse_url($_GET['url'], PHP_URL_PATH),'/'));
else $url = array_filter(explode('/',ltrim(parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH),'/')));


if($url==[] && $_SERVER['HTTP_HX_CURRENT_URL'])
    $url = explode('/',ltrim(parse_url($_SERVER['HTTP_HX_CURRENT_URL'], PHP_URL_PATH),'/'));

$GLOBALS['url'] = $url;
//echo print_r(['url'=>$url,'server'=>$_SERVER,'request'=>$_REQUEST,'cookie'=>$_COOKIE,'session'=>$_SESSION],true);

$response = callHook($url);

if(is_string($response))
    echo $response;
else if(is_array($response))
    echo json_encode($response);
else if(is_object($response))
    echo json_encode($response);
else echo json_encode(['error'=>'unknown response type']);