=') && version_compare(phpversion(), '5.5.0', '<'))) { die('PHP 5.3.x - 5.4.x required (Your version ' . phpversion() . ').'); } require_once '_lib/_sys/init.php'; // Define MADA Base Urls defined('MADA_BASE_URL') or define('MADA_BASE_URL', dirname(dirname(dirname(constant('BASE_URL')))) . '/mada.org/trunk/www'); defined('MADA_BASE_URL_HTTP') or define('MADA_BASE_URL_HTTP', str_replace('https://', 'http://', constant('MADA_BASE_URL'))); defined('MADA_BASE_URL_HTTPS') or define('MADA_BASE_URL_HTTPS', str_replace('http://', 'https://', constant('MADA_BASE_URL'))); // Define GMADA Base Urls defined('GMADA_BASE_URL') or define('GMADA_BASE_URL', dirname(dirname(dirname(constant('BASE_URL')))) . '/gmada.com/trunk/www'); defined('GMADA_BASE_URL_HTTP') or define('GMADA_BASE_URL_HTTP', str_replace('https://', 'http://', constant('GMADA_BASE_URL'))); defined('GMADA_BASE_URL_HTTPS') or define('GMADA_BASE_URL_HTTPS', str_replace('http://', 'https://', constant('GMADA_BASE_URL'))); // Define TCAUTOSHOW Base Urls defined('TCAUTOSHOW_BASE_URL') or define('TCAUTOSHOW_BASE_URL', dirname(dirname(dirname(constant('BASE_URL')))) . '/tcautoshow.com/trunk/www'); defined('TCAUTOSHOW_BASE_URL_HTTP') or define('TCAUTOSHOW_BASE_URL_HTTP', str_replace('https://', 'http://', constant('TCAUTOSHOW_BASE_URL'))); defined('TCAUTOSHOW_BASE_URL_HTTPS') or define('TCAUTOSHOW_BASE_URL_HTTPS', str_replace('http://', 'https://', constant('TCAUTOSHOW_BASE_URL'))); // SiteMap if (CMS_PREVIEW_PAGE_ID) { $adminDoc = new App_Doc_Admin(['hasAuthentication' => false]); if ($adminDoc->getAuth()->isLoggedIn()) { $page = App_Cms_Obj::getInstance()->getPage(CMS_PREVIEW_PAGE_ID, true); if (!$page) { $page = Qs_SiteMap::NOT_FOUND; } } else { $page = Qs_SiteMap::NOT_FOUND; } } else { $page = Qs_SiteMap::getPage(CURRENT_PAGE); } if (isset($page['redirect']) && isset($page['redirectType']) && 'y' == $page['redirect']) { if ('page' == $page['redirectType']) { if (false === ($fullAlias = Qs_SiteMap::find(array('id' => $page['redirectPageId']), null, null, 'fullAlias'))) { $fullAlias = ''; } $redirectUrl = BASE_URL_LANGUAGE . '/' . $fullAlias; } else { $redirectUrl = str_replace('{BASE_URL}', BASE_URL_LANGUAGE, $page['redirectAlias']); } Qs_Http::redirect($redirectUrl, $page['redirectStatus']); } if ($page == Qs_SiteMap::ENDS_WITH_SLASH) { $url = Qs_Constant::get('BASE_URL') . '/' . substr(CURRENT_PAGE, 0, -1); if (!empty($_SERVER['QUERY_STRING'])) { $url .= '?' . $_SERVER['QUERY_STRING']; } Qs_Http::redirect($url, 301); } elseif ($page == Qs_SiteMap::NOT_FOUND) { $page = Qs_SiteMap::get404Page(); } if (isset($page['isRoot']) && 'y' == $page['isRoot'] && '' != CURRENT_PAGE) { Qs_Http::redirect(BASE_URL_LANGUAGE, 301); } if (Qs_SiteMap::isSecurePage($page) && !(isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on')) { if ($_SERVER['REQUEST_METHOD'] == 'GET') { $url = str_replace('http://', 'https://', Qs_Request::getUrl()); Qs_Http::redirect($url); } else { header('HTTP/1.0 405 Method Not Allowed'); exit; } } define('CURRENT_PAGE_FINAL', (isset($page['fullAlias'])) ? $page['fullAlias'] : CURRENT_PAGE); $parts = explode('/', CURRENT_PAGE_FINAL); array_pop($parts); $parentPageFinal = implode('/', $parts); define('PARENT_PAGE_FINAL', $parentPageFinal); unset($siteMap); $items = (array) $page['items']; unset($page['items']); $handlerClass = 'App_Doc_' . ucfirst($page['handler']); if (CMS_PREVIEW_PAGE_ID) { $page['pagePreviewMode'] = true; $page['hasAnalyticsScripts'] = false; Qs_ViewController_Log::setEnabled(false); } /** @var $doc Qs_Doc */ $doc = new $handlerClass($page); Zend_Registry::set('doc', $doc); $doc->renderPageItems($items); if (CMS_PREVIEW_PAGE_ID && Qs_Navigation::isEnabled()) { /** * Тут видбувається підстановка тітли драфту в крумб навігацію. Навігація Qs_Navigation будується автоматично і * вплинути на неї без великих змін тяжко. */ if ($page['idParent']) { $parentFullAlias = Qs_SiteMap::findFirst(['id' => $page['idParent']], null, null, 'fullAlias'); Qs_Navigation::setCurrentPage($parentFullAlias); } else { Qs_Navigation::setCurrentPage(''); } Qs_Navigation::get(); $navConfig = Qs_Config::get('Navigation', Qs_Config::QS_TYPE)->toArray(); if ('exclude' == $navConfig['mode']) { $navRules = Qs_Array::get($navConfig, 'excludeList', []); if (!Qs_Navigation::checkRule($page, $navRules)) { Qs_Navigation::add(['title' => $page['menuTitle'], 'url' => '']); // підставляю в крумб навігацію тітлу драфта } } else { $navRules = Qs_Array::get($navConfig, 'includeList', []); if (Qs_Navigation::checkRule($page, $navRules)) { Qs_Navigation::add(['title' => $page['menuTitle'], 'url' => '']); // підставляю в крумб навігацію тітлу драфта } } } $html = $doc->__toString(); $doc->sendHeaders(); if (Qs_Constant::get('COMPRESS_HTML')) { $html = Qs_Packer_Html::compressHtml($html, false); } $debugHtml = include('_lib/_sys/log.php'); if ($debugHtml) { $html = str_replace('', $debugHtml . '', $html); } if (Qs_Constant::get('LOG_SCRIPT_DURATION')) { logScriptDuration(); } echo $html;