X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;ds=sidebyside;f=src%2Forg%2Fcacert%2Fgigi%2Fpages%2FPage.java;h=8d64d94f93cb884bfd7a94836c18debea283ee36;hb=fab3ca9955f6fb5248e828bc7ca0ca919375f7c3;hp=0497dae28b1722323d30fe0d8d33a4c2e0ebf8d8;hpb=785fe6cd9e7c9116b801aafc443b4f090cce870c;p=gigi.git diff --git a/src/org/cacert/gigi/pages/Page.java b/src/org/cacert/gigi/pages/Page.java index 0497dae2..8d64d94f 100644 --- a/src/org/cacert/gigi/pages/Page.java +++ b/src/org/cacert/gigi/pages/Page.java @@ -11,9 +11,10 @@ import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import org.cacert.gigi.PermissionCheckable; -import org.cacert.gigi.User; +import org.cacert.gigi.dbObjects.User; import org.cacert.gigi.localisation.Language; import org.cacert.gigi.output.template.Template; +import org.cacert.gigi.util.AuthorizationContext; /** * This class encapsulates a sub page of Gigi. A template residing nearby this @@ -102,30 +103,29 @@ public abstract class Page implements PermissionCheckable { return title; } - public void setTitle(String title) { - this.title = title; - } - public static Language getLanguage(ServletRequest req) { HttpSession session = ((HttpServletRequest) req).getSession(); - Locale sessval = (Locale) session.getAttribute(Language.SESSION_ATTRIB_NAME); - if (sessval != null) { - Language l = Language.getInstance(sessval); - if (l != null) { - return l; + synchronized (session) { + + Locale sessval = (Locale) session.getAttribute(Language.SESSION_ATTRIB_NAME); + if (sessval != null) { + Language l = Language.getInstance(sessval); + if (l != null) { + return l; + } } - } - Enumeration langs = req.getLocales(); - while (langs.hasMoreElements()) { - Locale c = langs.nextElement(); - Language l = Language.getInstance(c); - if (l != null) { - session.setAttribute(Language.SESSION_ATTRIB_NAME, l.getLocale()); - return l; + Enumeration langs = req.getLocales(); + while (langs.hasMoreElements()) { + Locale c = langs.nextElement(); + Language l = Language.getInstance(c); + if (l != null) { + session.setAttribute(Language.SESSION_ATTRIB_NAME, l.getLocale()); + return l; + } } + session.setAttribute(Language.SESSION_ATTRIB_NAME, Locale.ENGLISH); + return Language.getInstance(Locale.ENGLISH); } - session.setAttribute(Language.SESSION_ATTRIB_NAME, Locale.ENGLISH); - return Language.getInstance(Locale.ENGLISH); } public static String translate(ServletRequest req, String string) { @@ -138,8 +138,8 @@ public abstract class Page implements PermissionCheckable { } @Override - public boolean isPermitted(User u) { - return !needsLogin() || u != null; + public boolean isPermitted(AuthorizationContext ac) { + return !needsLogin() || ac != null; } }