From b170c59085538953c95eebe444a839249f25bff8 Mon Sep 17 00:00:00 2001 From: mrbytes <eguervos@msn.com> Date: Mon, 13 Aug 2012 15:52:59 -0400 Subject: [PATCH] GitBlitWebApp_es.properties: up-to date with the last changes --- src/com/gitblit/wicket/pages/BasePage.java | 64 +++++++++++++++++++++++++++++-- 1 files changed, 59 insertions(+), 5 deletions(-) diff --git a/src/com/gitblit/wicket/pages/BasePage.java b/src/com/gitblit/wicket/pages/BasePage.java index 80bff16..82862ae 100644 --- a/src/com/gitblit/wicket/pages/BasePage.java +++ b/src/com/gitblit/wicket/pages/BasePage.java @@ -17,15 +17,18 @@ import java.util.LinkedHashMap; import java.util.Map; +import java.util.ResourceBundle; import java.util.TimeZone; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletRequest; +import org.apache.wicket.Application; import org.apache.wicket.MarkupContainer; import org.apache.wicket.PageParameters; import org.apache.wicket.RestartResponseAtInterceptPageException; import org.apache.wicket.RestartResponseException; +import org.apache.wicket.markup.html.CSSPackageResource; import org.apache.wicket.markup.html.WebPage; import org.apache.wicket.markup.html.basic.Label; import org.apache.wicket.markup.html.link.BookmarkablePageLink; @@ -45,6 +48,7 @@ import com.gitblit.Keys; import com.gitblit.models.RepositoryModel; import com.gitblit.models.UserModel; +import com.gitblit.utils.TimeUtils; import com.gitblit.wicket.GitBlitWebSession; import com.gitblit.wicket.WicketUtils; import com.gitblit.wicket.panels.LinkPanel; @@ -52,18 +56,63 @@ public abstract class BasePage extends WebPage { private final Logger logger; + + private transient TimeUtils timeUtils; public BasePage() { super(); logger = LoggerFactory.getLogger(getClass()); + customizeHeader(); loginByCookie(); } public BasePage(PageParameters params) { super(params); logger = LoggerFactory.getLogger(getClass()); + customizeHeader(); loginByCookie(); } + + private void customizeHeader() { + if (GitBlit.getBoolean(Keys.web.useResponsiveLayout, true)) { + add(CSSPackageResource.getHeaderContribution("bootstrap/css/bootstrap-responsive.css")); + } + } + + protected String getLanguageCode() { + return GitBlitWebSession.get().getLocale().getLanguage(); + } + + protected TimeUtils getTimeUtils() { + if (timeUtils == null) { + ResourceBundle bundle; + try { + bundle = ResourceBundle.getBundle("com.gitblit.wicket.GitBlitWebApp", GitBlitWebSession.get().getLocale()); + } catch (Throwable t) { + bundle = ResourceBundle.getBundle("com.gitblit.wicket.GitBlitWebApp"); + } + timeUtils = new TimeUtils(bundle); + } + return timeUtils; + } + + @Override + protected void onBeforeRender() { + if (GitBlit.isDebugMode()) { + // strip Wicket tags in debug mode for jQuery DOM traversal + Application.get().getMarkupSettings().setStripWicketTags(true); + } + super.onBeforeRender(); + } + + @Override + protected void onAfterRender() { + if (GitBlit.isDebugMode()) { + // restore Wicket debug tags + Application.get().getMarkupSettings().setStripWicketTags(false); + } + super.onAfterRender(); + } private void loginByCookie() { if (!GitBlit.getBoolean(Keys.web.allowCookieAuthentication, false)) { @@ -80,7 +129,10 @@ // Login the user if (user != null) { // Set the user into the session - GitBlitWebSession.get().setUser(user); + GitBlitWebSession session = GitBlitWebSession.get(); + // issue 62: fix session fixation vulnerability + session.replaceSession(); + session.setUser(user); // Set Cookie WebResponse response = (WebResponse) getRequestCycle().getResponse(); @@ -159,7 +211,7 @@ protected TimeZone getTimeZone() { return GitBlit.getBoolean(Keys.web.useClientTimezone, false) ? GitBlitWebSession.get() - .getTimezone() : TimeZone.getDefault(); + .getTimezone() : GitBlit.getTimezone(); } protected String getServerName() { @@ -229,12 +281,14 @@ if (GitBlitWebSession.get().isLoggedIn()) { // username, logout, and change password - add(new Label("username", GitBlitWebSession.get().getUser().toString() + ":")); + add(new Label("username", GitBlitWebSession.get().getUser().getDisplayName() + ":")); add(new LinkPanel("loginLink", null, markupProvider.getString("gb.logout"), LogoutPage.class)); + boolean editCredentials = GitBlit.self().supportsCredentialChanges(); // quick and dirty hack for showing a separator - add(new Label("separator", "|")); - add(new BookmarkablePageLink<Void>("changePasswordLink", ChangePasswordPage.class)); + add(new Label("separator", "|").setVisible(editCredentials)); + add(new BookmarkablePageLink<Void>("changePasswordLink", + ChangePasswordPage.class).setVisible(editCredentials)); } else { // login add(new Label("username").setVisible(false)); -- Gitblit v1.9.1