Some Browser are not interpreting a redirect URL without the server part correctly.
git-svn-id: https://svn.libreccm.org/ccm/trunk@5069 8810af33-2d31-482b-a856-94f89814c4dfmaster
parent
5cc5d39cb5
commit
ac05306908
|
|
@ -141,6 +141,19 @@ public class PublicPersonalProfilesServlet extends BaseApplicationServlet {
|
|||
|
||||
final StringBuffer redirectTo = new StringBuffer();
|
||||
|
||||
redirectTo
|
||||
.append(DispatcherHelper.getRequest().getScheme())
|
||||
.append("://")
|
||||
.append(DispatcherHelper.getRequest().getServerName());
|
||||
|
||||
if (DispatcherHelper.getRequest().getServerPort() != 80
|
||||
&& DispatcherHelper.getRequest().getServerPort() != 443) {
|
||||
redirectTo
|
||||
.append(":")
|
||||
.append(DispatcherHelper.getRequest().getServerPort());
|
||||
}
|
||||
|
||||
|
||||
if (DispatcherHelper.getWebappContext() != null
|
||||
&& !DispatcherHelper.getWebappContext().trim().isEmpty()) {
|
||||
redirectTo.append(DispatcherHelper.getWebappContext());
|
||||
|
|
|
|||
|
|
@ -306,6 +306,19 @@ public class ContentSectionServlet extends BaseApplicationServlet {
|
|||
|
||||
// try {
|
||||
final StringBuffer redirectTo = new StringBuffer();
|
||||
|
||||
redirectTo
|
||||
.append(DispatcherHelper.getRequest().getScheme())
|
||||
.append("://")
|
||||
.append(DispatcherHelper.getRequest().getServerName());
|
||||
|
||||
if (DispatcherHelper.getRequest().getServerPort() != 80
|
||||
&& DispatcherHelper.getRequest().getServerPort() != 443) {
|
||||
redirectTo
|
||||
.append(":")
|
||||
.append(DispatcherHelper.getRequest().getServerPort());
|
||||
}
|
||||
|
||||
if (DispatcherHelper.getWebappContext() != null
|
||||
&& !DispatcherHelper.getWebappContext().trim()
|
||||
.isEmpty()) {
|
||||
|
|
@ -320,16 +333,14 @@ public class ContentSectionServlet extends BaseApplicationServlet {
|
|||
.append(section.getPath());
|
||||
if (pathInfo.endsWith("/")) {
|
||||
redirectTo
|
||||
// .append("/")
|
||||
.append(pathInfo.substring(0,
|
||||
pathInfo.length() - 1));
|
||||
} else {
|
||||
redirectTo
|
||||
// .append("/")
|
||||
.append(pathInfo);
|
||||
redirectTo.append(pathInfo);
|
||||
}
|
||||
redirectTo
|
||||
.append(".").append(lang);
|
||||
.append(".")
|
||||
.append(lang);
|
||||
|
||||
sresp.setHeader("Location", redirectTo.toString());
|
||||
sresp.sendError(HttpServletResponse.SC_MOVED_PERMANENTLY);
|
||||
|
|
|
|||
|
|
@ -93,8 +93,21 @@ public class NavigationFileResolver extends DefaultApplicationFileResolver {
|
|||
}
|
||||
|
||||
final StringBuffer redirectTo = new StringBuffer();
|
||||
|
||||
redirectTo
|
||||
.append(DispatcherHelper.getRequest().getScheme())
|
||||
.append("://")
|
||||
.append(DispatcherHelper.getRequest().getServerName());
|
||||
|
||||
if (DispatcherHelper.getRequest().getServerPort() != 80
|
||||
&& DispatcherHelper.getRequest().getServerPort() != 443) {
|
||||
redirectTo
|
||||
.append(":")
|
||||
.append(DispatcherHelper.getRequest().getServerPort());
|
||||
}
|
||||
|
||||
if (DispatcherHelper.getWebappContext() != null
|
||||
&& !DispatcherHelper.getWebappContext().trim().isEmpty()) {
|
||||
&& !DispatcherHelper.getWebappContext().trim().isEmpty()) {
|
||||
redirectTo.append(DispatcherHelper.getWebappContext());
|
||||
}
|
||||
|
||||
|
|
@ -103,7 +116,9 @@ public class NavigationFileResolver extends DefaultApplicationFileResolver {
|
|||
if (cats == null) {
|
||||
lang = KernelConfig.getConfig().getDefaultLanguage();
|
||||
} else {
|
||||
final CategoryLocalizationCollection langs = cats[cats.length - 1].getCategoryLocalizationCollection();
|
||||
final CategoryLocalizationCollection langs = cats[cats.length
|
||||
- 1]
|
||||
.getCategoryLocalizationCollection();
|
||||
if (!langs.localizationExists(lang)) {
|
||||
lang = KernelConfig.getConfig().getDefaultLanguage();
|
||||
}
|
||||
|
|
@ -116,7 +131,6 @@ public class NavigationFileResolver extends DefaultApplicationFileResolver {
|
|||
.append("index.")
|
||||
.append(lang);
|
||||
|
||||
|
||||
sresp.setHeader("Location", redirectTo.toString());
|
||||
try {
|
||||
sresp.sendError(HttpServletResponse.SC_MOVED_PERMANENTLY);
|
||||
|
|
|
|||
|
|
@ -26,16 +26,17 @@ import com.arsdigita.persistence.Filter;
|
|||
import com.arsdigita.persistence.OID;
|
||||
import com.arsdigita.persistence.SessionManager;
|
||||
import com.arsdigita.xml.Element;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
|
||||
/**
|
||||
|
|
@ -56,11 +57,13 @@ public class Hierarchy extends AbstractTree {
|
|||
* If set to true, the widget will output items as well as categories. It
|
||||
* will only output items in the category returned by getItemsRootCategory()
|
||||
* and its subcategories. Set to false by default.
|
||||
* @param showItems
|
||||
*/
|
||||
public void setShowItems( boolean showItems ) {
|
||||
m_showItems = showItems;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Element generateXML(HttpServletRequest request,
|
||||
HttpServletResponse response) {
|
||||
Category rootCategory = getModel().getRootCategory();
|
||||
|
|
|
|||
Loading…
Reference in New Issue