From 45e7d914f3519882c63f60eafd9f746b2d56d967 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Fri, 10 Aug 2012 16:12:51 -0400
Subject: [PATCH] Encode as UTF-8

---
 src/com/gitblit/wicket/pages/RepositoryPage.java |   16 +++++++++++-----
 1 files changed, 11 insertions(+), 5 deletions(-)

diff --git a/src/com/gitblit/wicket/pages/RepositoryPage.java b/src/com/gitblit/wicket/pages/RepositoryPage.java
index d6cc51c..4b5e28d 100644
--- a/src/com/gitblit/wicket/pages/RepositoryPage.java
+++ b/src/com/gitblit/wicket/pages/RepositoryPage.java
@@ -32,6 +32,8 @@
 import org.apache.wicket.markup.html.panel.Fragment;
 import org.apache.wicket.model.IModel;
 import org.apache.wicket.model.Model;
+import org.apache.wicket.protocol.http.RequestUtils;
+import org.apache.wicket.request.target.basic.RedirectRequestTarget;
 import org.eclipse.jgit.diff.DiffEntry.ChangeType;
 import org.eclipse.jgit.lib.PersonIdent;
 import org.eclipse.jgit.lib.Repository;
@@ -216,11 +218,11 @@
 	}
 
 	protected void addFullText(String wicketId, String text, boolean substituteRegex) {
-		String html;
+		String html = StringUtils.escapeForHtml(text, true);
 		if (substituteRegex) {
 			html = GitBlit.self().processCommitMessage(repositoryName, text);
 		} else {
-			html = StringUtils.breakLinesForHtml(text);
+			html = StringUtils.breakLinesForHtml(html);
 		}
 		add(new Label(wicketId, html).setEscapeModelStrings(false));
 	}
@@ -254,7 +256,7 @@
 			setPersonSearchTooltip(nameLink, name, searchType);
 			fullPerson.add(nameLink);
 
-			LinkPanel addressLink = new LinkPanel("personAddress", "list", "<" + address + ">",
+			LinkPanel addressLink = new LinkPanel("personAddress", "hidden-phone list", "<" + address + ">",
 					GitSearchPage.class, WicketUtils.newSearchParameter(repositoryName, objectId,
 							address, searchType));
 			setPersonSearchTooltip(addressLink, address, searchType);
@@ -364,8 +366,12 @@
 				// this repository is Lucene-indexed
 				searchPageClass = LuceneSearchPage.class;
 			}
-			setResponsePage(searchPageClass,
-					WicketUtils.newSearchParameter(repositoryName, null, searchString, searchType));
+			// use an absolute url to workaround Wicket-Tomcat problems with
+			// mounted url parameters (issue-111)
+			PageParameters params = WicketUtils.newSearchParameter(repositoryName, null, searchString, searchType);
+			String relativeUrl = urlFor(searchPageClass, params).toString();
+			String absoluteUrl = RequestUtils.toAbsolutePath(relativeUrl);
+			getRequestCycle().setRequestTarget(new RedirectRequestTarget(absoluteUrl));
 		}
 	}
 }

--
Gitblit v1.9.1