public function doGet(\Innomatic\Webapp\WebAppRequest $req, \Innomatic\Webapp\WebAppResponse $res) { // Start Innomatic $innomatic = \Innomatic\Core\InnomaticContainer::instance('\\Innomatic\\Core\\InnomaticContainer'); $innomatic->setInterface(\Innomatic\Core\InnomaticContainer::INTERFACE_EXTERNAL); $root = \Innomatic\Core\RootContainer::instance('\\Innomatic\\Core\\RootContainer'); $innomatic_home = $root->getHome() . 'innomatic/'; $innomatic->bootstrap($innomatic_home, $innomatic_home . 'core/conf/innomatic.ini'); // Start Innomatic domain \Innomatic\Core\InnomaticContainer::instance('\\Innomatic\\Core\\InnomaticContainer')->startDomain(\Innomatic\Webapp\WebAppContainer::instance('\\Innomatic\\Webapp\\WebAppContainer')->getCurrentWebApp()->getName()); // Innomedia page $scope_page = 'frontend'; // Check if the page exists in the page tree $pageSearch = PageTree::findPageByPath(substr($req->getPathInfo(), 1)); if ($pageSearch === false) { // This is a static page (excluding the home page). $location = explode('/', $req->getPathInfo()); $module_name = isset($location[1]) ? $location[1] : ''; $page_name = isset($location[2]) ? $location[2] : ''; $pageId = isset($location[3]) ? $location[3] : 0; } else { // This is the home page or a content page. $module_name = $pageSearch['module']; $page_name = $pageSearch['page']; $pageId = $pageSearch['page_id']; } // Define Innomatic context $home = \Innomatic\Webapp\WebAppContainer::instance('\\Innomatic\\Webapp\\WebAppContainer')->getCurrentWebApp()->getHome(); $context = Context::instance('\\Innomedia\\Context'); $context->setRequest($req)->setResponse($res)->process(); // Build Innomedia page $page = new Page($module_name, $page_name, $pageId, $scope_page); $page->parsePage(); // Check if the page is valid if (!$page->isValid()) { $res->sendError(\Innomatic\Webapp\WebAppResponse::SC_NOT_FOUND, $req->getRequestURI()); } else { $page->build(); } }
public function doGet(\Innomatic\Webapp\WebAppRequest $req, \Innomatic\Webapp\WebAppResponse $res) { // identify the requested resource path $resource = substr(\Innomatic\Webapp\WebAppContainer::instance('\\Innomatic\\Webapp\\WebAppContainer')->getCurrentWebApp()->getHome(), 0, -1) . '/root' . $req->getPathInfo(); $ignore_lock = false; // make sure that this path exists on disk switch (substr($resource, strrpos($resource, '/') + 1)) { /* case 'main': case 'menu': case 'logo': break; */ case 'unlock': $ignore_lock = true; break; default: if (substr($resource, -1, 1) != '/' and !file_exists($resource . '.php') and !is_dir($resource . '-panel')) { $res->sendError(\Innomatic\Webapp\WebAppResponse::SC_NOT_FOUND, $req->getRequestURI()); return; } } // Bootstraps Innomatic $innomatic = \Innomatic\Core\InnomaticContainer::instance('\\Innomatic\\Core\\InnomaticContainer'); if ($ignore_lock) { $innomatic->setLockOverride(true); } // Sets Innomatic base URL $baseUrl = ''; $webAppPath = $req->getUrlPath(); if (!is_null($webAppPath) && $webAppPath != '/') { $baseUrl = $req->generateControllerPath($webAppPath, true); } $innomatic->setBaseUrl($baseUrl); $innomatic->setInterface(\Innomatic\Core\InnomaticContainer::INTERFACE_WEB); $home = \Innomatic\Webapp\WebAppContainer::instance('\\Innomatic\\Webapp\\WebAppContainer')->getCurrentWebApp()->getHome(); $innomatic->bootstrap($home, $home . 'core/conf/innomatic.ini'); if ($innomatic->getState() == \Innomatic\Core\InnomaticContainer::STATE_SETUP) { $innomatic->abort('Setup phase'); } if (!headers_sent()) { // Starts output compression. if ($innomatic->getConfig()->value('CompressedOutputBuffering') == '1') { ini_set('zlib.output_compression', 'on'); ini_set('zlib.output_compression_level', 6); } } \Innomatic\Desktop\Controller\DesktopFrontController::instance('\\Innomatic\\Desktop\\Controller\\DesktopFrontController')->execute(\Innomatic\Core\InnomaticContainer::MODE_ROOT, $resource); }
protected function getRelativePath(\Innomatic\Webapp\WebAppRequest $request) { $result = $request->getPathInfo(); return \Innomatic\Io\Filesystem\DirectoryUtils::normalize(strlen($result) ? $result : '/'); }