diff --git a/source/java/org/alfresco/repo/template/Site.java b/source/java/org/alfresco/repo/template/Site.java index 43f31e44cc..cb160ded64 100644 --- a/source/java/org/alfresco/repo/template/Site.java +++ b/source/java/org/alfresco/repo/template/Site.java @@ -18,16 +18,18 @@ */ package org.alfresco.repo.template; +import org.alfresco.repo.admin.SysAdminParamsImpl; import org.alfresco.service.ServiceRegistry; -import org.alfresco.service.cmr.repository.NodeRef; import org.alfresco.service.cmr.site.SiteInfo; import org.alfresco.service.cmr.site.SiteService; +import org.alfresco.util.UrlUtil; import org.springframework.extensions.surf.util.ParameterCheck; /** * Site support in FreeMarker templates. * * @author Mike Hatfield + * @author Kevin Roast */ public class Site extends BaseTemplateProcessorExtension { @@ -67,4 +69,35 @@ public class Site extends BaseTemplateProcessorExtension ParameterCheck.mandatoryString("shortName", shortName); return siteService.getSite(shortName); } + + /** + * This method returns a URL stem which resolves to the configured Alfresco Share URL. + *

+ * @see SysAdminParamsImpl#setAlfrescoHost(String) + * @see SysAdminParamsImpl#setShareHost(String) + */ + public String getShareUrl() + { + return UrlUtil.getShareUrl(services.getSysAdminParams()); + } + + /** + * This method returns a URL which resolves to the configured Alfresco Share site URL. + *

+ * @see SysAdminParamsImpl#setAlfrescoHost(String) + * @see SysAdminParamsImpl#setShareHost(String) + * @param siteShortName the shortName of the Site to build URL for + * @return the Site or null if no such site exists + */ + public String getShareSiteUrl(String siteShortName) + { + StringBuilder result = new StringBuilder(UrlUtil.getShareUrl(services.getSysAdminParams())); + result.append("/page"); + if (siteShortName != null) + { + result.append("/site/").append(siteShortName); + } + + return result.toString(); + } }