/** * Checks whether a given root path is a site root.<p> * * @param rootPath a root path * * @return true if the given path is the path of a site root */ public boolean isSiteRoot(String rootPath) { String siteRoot = getSiteRoot(rootPath); rootPath = CmsStringUtil.joinPaths(rootPath, "/"); return rootPath.equals(siteRoot); }
/** * Returns a list of all {@link CmsSite} instances that are compatible to the given organizational unit.<p> * * @param cms the current OpenCms user context * @param workplaceMode if true, the root and current site is included for the admin user * and the view permission is required to see the site root * @param ouFqn the organizational unit * * @return a list of all site available for the current user */ public List<CmsSite> getAvailableSites(CmsObject cms, boolean workplaceMode, String ouFqn) { return getAvailableSites(cms, workplaceMode, workplaceMode, ouFqn); }
/** * Returns <code>true</code> if the given site matcher matches the current site.<p> * * @param cms the current OpenCms user context * @param matcher the site matcher to match the site with * * @return <code>true</code> if the matcher matches the current site */ public boolean isMatchingCurrentSite(CmsObject cms, CmsSiteMatcher matcher) { return m_siteMatcherSites.get(matcher) == getCurrentSite(cms); }
/** * Returns <code>true</code> if the given request is against the configured OpenCms workplace.<p> * * @param req the request to match * * @return <code>true</code> if the given request is against the configured OpenCms workplace */ public boolean isWorkplaceRequest(HttpServletRequest req) { if (req == null) { // this may be true inside a static export test case scenario return false; } return isWorkplaceRequest(getRequestMatcher(req)); }
/** * Returns the site for the given resources root path, * or <code>null</code> if the resources root path does not match any site.<p> * * @param rootPath the root path of a resource * * @return the site for the given resources root path, * or <code>null</code> if the resources root path does not match any site * * @see #getSiteForSiteRoot(String) * @see #getSiteRoot(String) */ public CmsSite getSiteForRootPath(String rootPath) { // most sites will be below the "/sites/" folder, CmsSite result = lookupSitesFolder(rootPath); if (result != null) { return result; } // look through all folders that are not below "/sites/" String siteRoot = lookupAdditionalSite(rootPath); return (siteRoot != null) ? getSiteForSiteRoot(siteRoot) : null; }
CmsSite result = getSiteForRootPath(rootPath); if (result == null) { result = getSiteForSiteRoot(fallbackSiteRoot); if (result == null) { result = getDefaultSite();
if (OpenCms.getSiteManager().isMatching(matcher)) { if (path.startsWith(OpenCms.getSystemInfo().getOpenCmsContext())) { path = path.substring(OpenCms.getSystemInfo().getOpenCmsContext().length()); if (OpenCms.getSiteManager().isWorkplaceRequest(matcher)) { OpenCms.getSiteManager().matchSite(matcher).getSiteRoot(), path + suffix); siteRoot = OpenCms.getSiteManager().getSiteRoot(basePath); if (OpenCms.getSiteManager().getSiteRoot(absolutePath) != null) { return absolutePath + suffix; if (OpenCms.getSiteManager().getSiteRoot(absolutePath) != null) { return absolutePath + suffix; + CmsWorkplace.VFS_PATH_EDITORS + "xmlcontent/"); if (OpenCms.getSiteManager().getSiteRoot(absolutePath) != null) { return absolutePath + suffix;
permalink += ext; CmsSite currentSite = OpenCms.getSiteManager().getCurrentSite(cms); String serverPrefix = null; if (currentSite == OpenCms.getSiteManager().getDefaultSite()) { Optional<CmsSite> siteForDefaultUri = OpenCms.getSiteManager().getSiteForDefaultUri(); if (siteForDefaultUri.isPresent()) { serverPrefix = siteForDefaultUri.get().getServerPrefix(cms, resourceName); } else { serverPrefix = OpenCms.getSiteManager().getWorkplaceServer();
/** * Prepends the site-root to the given URL.<p> * * @param url the URL * * @return the absolute URL */ private String prependSiteRoot(String url) { String site = getCms().getRequestContext().getSiteRoot(); if (CmsStringUtil.isEmptyOrWhitespaceOnly(site) || OpenCms.getSiteManager().isSharedFolder(site)) { site = OpenCms.getSiteManager().getDefaultUri(); if (CmsStringUtil.isEmptyOrWhitespaceOnly(site) || (OpenCms.getSiteManager().getSiteForSiteRoot(site) == null)) { return OpenCms.getSiteManager().getWorkplaceServer() + url; } else { return OpenCms.getSiteManager().getSiteForSiteRoot(site).getUrl() + url; } } return OpenCms.getSiteManager().getSiteForSiteRoot(site).getUrl() + url; }
/** * Gets the common site root of a set of resources.<p> * @param resourceSet the resources * * @return the common site root (may also be the shared folder or root folder) */ protected String getCommonSite(Collection<CmsResource> resourceSet) { String commonPath = getCommonAncestorPath(resourceSet); String result = null; CmsSiteManagerImpl siteManager = OpenCms.getSiteManager(); if (siteManager.startsWithShared(commonPath)) { result = siteManager.getSharedFolder(); } else { String siteRoot = siteManager.getSiteRoot(CmsStringUtil.joinPaths(commonPath, "/")); if (siteRoot == null) { result = "/"; } else { result = siteRoot; } } return result; }
CmsSite currentSite = OpenCms.getSiteManager().getCurrentSite(cms); CmsSite targetSite = null; if (CmsStringUtil.isNotEmpty(siteRoot)) { targetSite = OpenCms.getSiteManager().getSiteForSiteRoot(siteRoot); if (!vfsName.startsWith(targetSiteRoot) && !vfsName.startsWith(CmsResource.VFS_FOLDER_SYSTEM + "/") && !OpenCms.getSiteManager().startsWithShared(vfsName)) { rootVfsName = CmsStringUtil.joinPaths(targetSiteRoot, vfsName); } else { CmsSite detailPageSite = OpenCms.getSiteManager().getSiteForRootPath(detailPage); if (detailPageSite != null) { targetSite = detailPageSite;
String ownRoot = siteManager.getSiteRoot(containerPage.getRootPath()); Map<String, CmsLocaleLinkBean> localeLinkBeans = null; if (group.isRealGroup()) { Locale locale = OpenCms.getWorkplaceManager().getWorkplaceLocale(cms); for (Map.Entry<Locale, CmsResource> entry : group.getResourcesByLocale().entrySet()) { String otherRoot = siteManager.getSiteRoot(entry.getValue().getRootPath()); if ((otherRoot != null) && otherRoot.equals(ownRoot)) { String theLink = OpenCms.getLinkManager().substituteLinkForUnknownTarget( if (!OpenCms.getSiteManager().getWorkplaceServer().equals( OpenCms.getSiteManager().getSiteForSiteRoot(cms.getRequestContext().getSiteRoot()).getUrl())) { if (detailResource != null) { onlineLink = OpenCms.getLinkManager().getOnlineLink(
} else { preSelection = OpenCms.getSiteManager().getCurrentSite(getCms()).getSiteRoot(); showSiteUrls = true; List sites = OpenCms.getSiteManager().getAvailableSites(getCms(), includeRootSite);
isSecureRequest = OpenCms.getSiteManager().usesSecureSite(request); requestMatcher = OpenCms.getSiteManager().getWorkplaceSiteMatcher(); } else if (OpenCms.getSiteManager().startsWithShared(requestedResource)) { resourceName = requestedResource; } else { CmsSite site = OpenCms.getSiteManager().getSiteForSiteRoot(siteRoot); if ((site != null) && CmsSite.LocalizationMode.singleTree.equals(site.getLocalizationMode())) { Locale locale = CmsSingleTreeLocaleHandler.getLocaleFromPath(requestedResource);
/** * @see org.opencms.workplace.list.A_CmsListExplorerDialog#isColumnVisible(int) */ @Override protected boolean isColumnVisible(int colFlag) { boolean isVisible = (colFlag == CmsUserSettings.FILELIST_TITLE); isVisible = isVisible || (colFlag == LIST_COLUMN_TYPEICON.hashCode()); isVisible = isVisible || (colFlag == LIST_COLUMN_LOCKICON.hashCode()); isVisible = isVisible || (colFlag == LIST_COLUMN_PROJSTATEICON.hashCode()); isVisible = isVisible || (colFlag == LIST_COLUMN_NAME.hashCode()); isVisible = isVisible || ((colFlag == LIST_COLUMN_SITE.hashCode()) && (OpenCms.getSiteManager().getSites().size() > 1)); return isVisible; }
/** * Checks whether the workplace is accessed through the workplace server, and sends an error message otherwise.<p> * * @param request the request to check * @param cms the CmsObject to use */ public void checkWorkplaceRequest(HttpServletRequest request, CmsObject cms) { try { if ((OpenCms.getSiteManager().getSites().size() > 1) && !OpenCms.getSiteManager().isWorkplaceRequest(request)) { // this is a multi site-configuration, but not a request to the configured Workplace site CmsUser user = cms.getRequestContext().getCurrentUser(); // to limit the number of times broadcast is called for a user, we use an expiring cache // with the user name as key if (null == m_workplaceServerUserChecks.getIfPresent(user.getName())) { m_workplaceServerUserChecks.put(user.getName(), ""); OpenCms.getSessionManager().sendBroadcast( null, Messages.get().getBundle(getWorkplaceLocale(cms)).key( Messages.ERR_WORKPLACE_SERVER_CHECK_FAILED_0), user); } } } catch (Exception e) { LOG.error(e.getLocalizedMessage(), e); } }
/** * Returns the target site for the given path.<p> * * @param cms the cms context * @param path the path * @param basePath the base path * * @return the target site */ private String getTargetSiteRoot(CmsObject cms, String path, String basePath) { if (OpenCms.getSiteManager().startsWithShared(path) || path.startsWith(CmsWorkplace.VFS_PATH_SYSTEM)) { return null; } String targetSiteRoot = OpenCms.getSiteManager().getSiteRoot(path); if ((targetSiteRoot == null) && (basePath != null)) { targetSiteRoot = OpenCms.getSiteManager().getSiteRoot(basePath); } if (targetSiteRoot == null) { targetSiteRoot = cms.getRequestContext().getSiteRoot(); } return targetSiteRoot; }
if (equals(OpenCms.getSiteManager().getDefaultSite())) { return OpenCms.getSiteManager().getWorkplaceServer();
String site = getCms().getRequestContext().getSiteRoot(); if (CmsStringUtil.isEmptyOrWhitespaceOnly(site)) { site = OpenCms.getSiteManager().getDefaultUri(); if (CmsStringUtil.isEmptyOrWhitespaceOnly(site)) { url = OpenCms.getSiteManager().getWorkplaceServer() + url; } else if (OpenCms.getSiteManager().getSiteForSiteRoot(site) == null) { url = OpenCms.getSiteManager().getWorkplaceServer() + url; } else { url = OpenCms.getSiteManager().getSiteForSiteRoot(site).getUrl() + url; url = OpenCms.getSiteManager().getSiteForSiteRoot(site).getUrl() + url;
sitesElement.addElement(N_WORKPLACE_SERVER).addText(m_siteManager.getWorkplaceServer()); sitesElement.addElement(N_DEFAULT_URI).addText(m_siteManager.getDefaultUri()); Iterator siteIterator = new HashSet(m_siteManager.getSites().values()).iterator(); while (siteIterator.hasNext()) { CmsSite site = (CmsSite)siteIterator.next();