} if (!isset($cms_page) || !is_object($cms_page)) { CMS_grandFather::raiseError('Error, can\'t get a valid page to work with.'); $view->show(); } //check if page is useable (public or edited at least) if (!$cms_page->isUseable() || $followRedirect) { if (!$cms_page->isUseable()) { //page is deleted, go to root $cms_page = CMS_tree::getRoot(); } //redirect to subpage if any redirection exists $redirectlink = $cms_page->getRedirectLink(true); while ($redirectlink->hasValidHREF() && sensitiveIO::IsPositiveInteger($redirectlink->getInternalLink())) { $cms_page = new CMS_page($redirectlink->getInternalLink()); $redirectlink = $cms_page->getRedirectLink(true); } $pageId = $cms_page->getID(); } pr('View page : ' . $cms_page->getID() . ($reload ? ' (Force reload queried by interface)' : '')); //set page into user context CMS_session::setPage($cms_page); //for the page, create all javascript informations needed $hasPreviz = $hasPublic = $hasDraft = $isEditable = $hasLock = $hasRedirect = false; //which panels can be seen by user (according to his rights) //this array represent the order of each panel (left to right) $userPanels = array('search' => array('type' => 'searchPanel', 'visible' => true), 'tree' => array('type' => 'winPanel', 'visible' => false), 'favorite' => array('type' => 'favoritePanel', 'visible' => $cms_user->hasModuleClearance(MOD_STANDARD_CODENAME, CLEARANCE_MODULE_VIEW)), 'action' => array('type' => 'menuPanel', 'visible' => false), 'add' => array('type' => 'winPanel', 'visible' => false), 'properties' => array('type' => 'winPanel', 'visible' => false), 'edit' => array('type' => 'framePanel', 'visible' => false), 'edited' => array('type' => 'framePanel', 'visible' => false), 'public' => array('type' => 'framePanel', 'visible' => true), 'nopages' => array('type' => 'framePanel', 'visible' => false), 'norights' => array('type' => 'framePanel', 'visible' => false)); //check for public page if ($cms_user->hasPageClearance($cms_page->getID(), CLEARANCE_PAGE_VIEW)) { if ($cms_page->getPublication() == RESOURCE_PUBLICATION_PUBLIC) { $hasPublic = true;
$website = CMS_websitesCatalog::getWebsiteFromDomain($httpHost, '', $isAlt); //redirect to website main domain if current domain is an altdomain and need redirection if ($website && $isAlt && $website->redirectAltDomain()) { CMS_view::redirect($website->getURL(), true, 301); } if (!$website) { $website = CMS_websitesCatalog::getMainWebsite(); } $rootPage = $website->getRoot(); if ($rootPage->getPublication() == RESOURCE_PUBLICATION_PUBLIC) { //redirect to subpage if any $redirectlink = $rootPage->getRedirectLink(true); while ($redirectlink && $redirectlink->hasValidHREF() && sensitiveIO::IsPositiveInteger($redirectlink->getInternalLink())) { $rootPage = new CMS_page($redirectlink->getInternalLink()); if ($rootPage->getPublication() == RESOURCE_PUBLICATION_PUBLIC) { $redirectlink = $rootPage->getRedirectLink(true); } else { $redirectlink = ''; } } } $pPath = $rootPage->getHTMLURL(false, false, PATH_RELATIVETO_FILESYSTEM); if ($pPath) { if (file_exists($pPath)) { $cms_page_included = true; require $pPath; exit; } elseif ($rootPage->regenerate(true)) { clearstatcache(); if (file_exists($pPath)) { $cms_page_included = true;