Example #1
0
/**
 * Handles rendering the header, footer, content and initialising the page
 *
 * @param $parameters
 * @return string
 */
function superHandler($parameters)
{
    // Set our controller and view directories
    $controllerDirectory = __DIR__ . '/../controllers/';
    $viewDirectory = __DIR__ . '/../views/';
    // Initialise our page array
    $page = Session::init($parameters['title'], $parameters['flashes'], $parameters['restricted'], $parameters['registered']);
    if ($parameters['flashes'] == false && $parameters['customflashes'] == true) {
        $page['customflashes'] = Session::getFlashes();
    }
    // if parameters are passed, then add them
    if (array_key_exists('parameters', $parameters)) {
        $page['parameters'] = $parameters['parameters'];
    }
    $page['navbar'] = $parameters['navbar'];
    if (array_key_exists('navbar-params', $parameters)) {
        $page['navbar-params'] = $parameters['navbar-params'];
    }
    // Require our controller
    require $controllerDirectory . $parameters['controller'];
    // Initialise our h2o object
    $h2o = new h2o(null, array('autoescape' => false));
    $output = "";
    if (array_key_exists('header', $parameters) && $parameters['header'] == true) {
        $h2o->loadTemplate($viewDirectory . 'global/header.html');
        $output .= $h2o->render(compact('page'));
    }
    if ($parameters['view'] != null) {
        $h2o->loadTemplate($viewDirectory . $parameters['view']);
        $output .= $h2o->render(compact('page'));
    }
    if (array_key_exists('footer', $parameters) && $parameters['footer'] == true) {
        $h2o->loadTemplate($viewDirectory . 'global/footer.html');
        $output .= $h2o->render(compact('page'));
    }
    // return output
    return $output;
}