Example #1
0
}
$ctx = new Context($_GET, $_POST, $_SERVER);
if ($ctx->isFile()) {
    readfile('.' . $ctx->getPath());
    exit;
} else {
    if (preg_match('/\\.php$/', $ctx->getPath())) {
        include '.' . $ctx->getPath();
        exit;
    } else {
        ob_start();
        try {
            $r = $ctx->loadComponent();
        } catch (ContextException $ce) {
            if ($ce->getCode() == 404) {
                $ctx->setHTTPStatus(404, "Not found");
                $ctx->setContent($ce->getMessage());
            } else {
                $ctx->setHTTPStatus(500, "Internal error in PHP software");
                $ctx->setContent($ce->getMessage());
            }
        }
        $output = ob_get_clean();
        if (!empty($output)) {
            $ctx->appendContent($output);
        }
        if (!empty($r)) {
            $ctx->appendContent($r);
        }
    }
}