Merged V3.1 to HEAD

13409: Fix for ETHREEOH-1337 - to escape query characters in Site/People service filter methods.
   13410: Fix for ETHREEOH-1272 - another missing pager control.
   13425: Italian lang pack for TinyMCE editors. Fixes ETHREEOH-1491.
   13430: Fix for ETHREEOH-1488.
          Also IDs added to a couple of pagers - not causing a bug, but completes the pager fixes.
   13464: Fix for ETHREEOH-1474 - now possible to use NTLM auth with Alfresco and SURF apps hosted in same app-server with same user browser session in different tabs.
          Added additional NTLM filter debugging info for Session ID.
   13483: Fix for ETHREEOH-1547 - System error happens when trying to create any Web Project.
          Also fixes issue where webproject FormImpl objects did not deserialize correctly due to unsafe service call usage in constructor.
   13501: Fix for ETHREEOH-965 - disallow guest login until explicit Guest support is added to Share.
   13507: Fix for ETHREEOH-1586 - language selectable at login working again.
   13512: Fix for ETHREEOH-1522 - wiki RSS feed template variable named incorrectly.

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@13598 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Kevin Roast
2009-03-12 12:18:25 +00:00
parent c172eba346
commit 3531bb88e5
29 changed files with 844 additions and 39 deletions

View File

@@ -38,11 +38,16 @@ import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.alfresco.i18n.I18NUtil;
import org.alfresco.repo.tenant.TenantService;
import org.alfresco.service.ServiceRegistry;
import org.alfresco.service.cmr.model.FileFolderService;
import org.alfresco.service.cmr.model.FileInfo;
import org.alfresco.service.cmr.model.FileNotFoundException;
import org.alfresco.service.cmr.repository.NodeRef;
import org.alfresco.service.cmr.repository.NodeService;
import org.alfresco.service.cmr.search.SearchService;
import org.alfresco.service.namespace.NamespaceService;
import org.alfresco.util.URLDecoder;
import org.alfresco.web.app.Application;
import org.alfresco.web.bean.LoginBean;
@@ -53,13 +58,6 @@ import org.springframework.web.context.WebApplicationContext;
import org.springframework.web.context.support.WebApplicationContextUtils;
import org.springframework.web.jsf.FacesContextUtils;
import org.alfresco.i18n.I18NUtil;
import org.alfresco.repo.tenant.TenantService;
import org.alfresco.service.cmr.repository.NodeService;
import org.alfresco.service.cmr.repository.StoreRef;
import org.alfresco.service.cmr.search.SearchService;
import org.alfresco.service.namespace.NamespaceService;
/**
* Base servlet class containing useful constant values and common methods for Alfresco servlets.
@@ -202,20 +200,28 @@ public abstract class BaseServlet extends HttpServlet
/**
* Apply Client and Repository language locale based on the 'Accept-Language' request header
*/
public static Locale setLanguageFromRequestHeader(HttpServletRequest req)
public static Locale setLanguageFromRequestHeader(HttpServletRequest req, ServletContext sc)
{
Locale locale = null;
// set language locale from browser header
String acceptLang = req.getHeader("Accept-Language");
if (acceptLang != null && acceptLang.length() != 0)
// Set the current locale and language
if (Application.getClientConfig(sc).isLanguageSelect())
{
StringTokenizer t = new StringTokenizer(acceptLang, ",; ");
// get language and convert to java locale format
String language = t.nextToken().replace('-', '_');
Application.setLanguage(req.getSession(), language);
locale = I18NUtil.parseLocale(language);
I18NUtil.setLocale(locale);
locale = Application.getLanguage(req.getSession());
}
else
{
// set language locale from browser header
String acceptLang = req.getHeader("Accept-Language");
if (acceptLang != null && acceptLang.length() != 0)
{
StringTokenizer t = new StringTokenizer(acceptLang, ",; ");
// get language and convert to java locale format
String language = t.nextToken().replace('-', '_');
Application.setLanguage(req.getSession(), language);
locale = I18NUtil.parseLocale(language);
I18NUtil.setLocale(locale);
}
}
return locale;