private function renderPage($page, $template = null, $var = null) { global $c; if (isset($var)) { if (is_array($c) && is_array($var)) { $c = array_merge($c, $var); } else { $c = $var; } } if ($c) { foreach ($c as $key=>$value) { $$key = $value; } } $message = $this->getOutputMessage(); if (isset($message) && strlen($message) > 0) { if (!isset($c[\presentation\BasePresentation::OUTPUT_MESSAGE])) { $c[\presentation\BasePresentation::OUTPUT_MESSAGE] = ''; } $c[\presentation\BasePresentation::OUTPUT_MESSAGE] .= $message; } $pages = array(); if (isset($page)) { if (!file_exists(Config::getWebIncludePagePath().$page)) { throw new \Exception('File does not exists - '.$page); } else { $pages[] = Config::getWebIncludePagePath().$page; } } if ($template) { $template = Config::getWebIncludeTemplatePath().$template; $regex = '/<\?\/\/{PPK-USE-INSIDE-TEMPLATE-FILE:"(?<value>.+?)"}\?>/'; } else { $template = $pages[0]; $regex = '/<\?\/\/{PPK-USE-TEMPLATE-FILE:"(?<value>.+?)"}\?>/'; } $fileContent = file_get_contents($template); if (preg_match($regex, $fileContent, $matches, PREG_OFFSET_CAPTURE)) { if (file_exists(Config::getWebIncludeTemplatePath().$matches['value'][0])) { $pages = array_merge(array($template), $pages); $template = Config::getWebIncludeTemplatePath().$matches['value'][0]; } } $c[\presentation\BasePresentation::TEMPLATE_INNER_FILE] = array_unique($pages); if (!file_exists($template)) throw new \Exception('File does not exists - '.$template); require_once($template); }