From ce1f4aa3e2c8705cd79deaac3fc4a905310a55ca Mon Sep 17 00:00:00 2001 From: jensp Date: Fri, 1 Sep 2017 11:49:17 +0000 Subject: [PATCH] Better handling for language in profiles git-svn-id: https://svn.libreccm.org/ccm/trunk@4973 8810af33-2d31-482b-a856-94f89814c4df --- .../PublicPersonalProfilesServlet.java | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/ccm-cms-publicpersonalprofile/src/com/arsdigita/cms/publicpersonalprofile/PublicPersonalProfilesServlet.java b/ccm-cms-publicpersonalprofile/src/com/arsdigita/cms/publicpersonalprofile/PublicPersonalProfilesServlet.java index c7660e1ff..2898020cb 100644 --- a/ccm-cms-publicpersonalprofile/src/com/arsdigita/cms/publicpersonalprofile/PublicPersonalProfilesServlet.java +++ b/ccm-cms-publicpersonalprofile/src/com/arsdigita/cms/publicpersonalprofile/PublicPersonalProfilesServlet.java @@ -81,6 +81,7 @@ import javax.servlet.http.HttpServletResponse; import org.apache.log4j.Logger; import com.arsdigita.cms.ReusableImageAsset; +import com.arsdigita.kernel.KernelConfig; /** * Servlet for the PublicPersonalProfile application. @@ -117,7 +118,7 @@ public class PublicPersonalProfilesServlet extends BaseApplicationServlet { if (CMSConfig.getInstanceOf().getUseLanguageExtension()) { final String pathInfo = request.getPathInfo(); if (!pathInfo.matches("(.*)/index\\.[a-zA-Z]{2}")) { - final String lang; + String lang; if (GlobalizationHelper.getSelectedLocale(request) == null) { lang = GlobalizationHelper .getNegotiatedLocale() @@ -128,6 +129,16 @@ public class PublicPersonalProfilesServlet extends BaseApplicationServlet { .getLanguage(); } + final Path path = new Path(getPath(request)); + final PublicPersonalProfile profile = getProfile(SessionManager.getSession(), + path.getProfileOwner(), + path.getPreview(), + lang); + + if (profile == null) { + lang = KernelConfig.getConfig().getDefaultLanguage(); + } + final StringBuffer redirectTo = new StringBuffer(); if (DispatcherHelper.getWebappContext() != null