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();
|
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
|
if (DispatcherHelper.getWebappContext() != null
|
||||||
&& !DispatcherHelper.getWebappContext().trim().isEmpty()) {
|
&& !DispatcherHelper.getWebappContext().trim().isEmpty()) {
|
||||||
redirectTo.append(DispatcherHelper.getWebappContext());
|
redirectTo.append(DispatcherHelper.getWebappContext());
|
||||||
|
|
|
||||||
|
|
@ -306,6 +306,19 @@ public class ContentSectionServlet extends BaseApplicationServlet {
|
||||||
|
|
||||||
// try {
|
// try {
|
||||||
final StringBuffer redirectTo = new StringBuffer();
|
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
|
if (DispatcherHelper.getWebappContext() != null
|
||||||
&& !DispatcherHelper.getWebappContext().trim()
|
&& !DispatcherHelper.getWebappContext().trim()
|
||||||
.isEmpty()) {
|
.isEmpty()) {
|
||||||
|
|
@ -320,16 +333,14 @@ public class ContentSectionServlet extends BaseApplicationServlet {
|
||||||
.append(section.getPath());
|
.append(section.getPath());
|
||||||
if (pathInfo.endsWith("/")) {
|
if (pathInfo.endsWith("/")) {
|
||||||
redirectTo
|
redirectTo
|
||||||
// .append("/")
|
|
||||||
.append(pathInfo.substring(0,
|
.append(pathInfo.substring(0,
|
||||||
pathInfo.length() - 1));
|
pathInfo.length() - 1));
|
||||||
} else {
|
} else {
|
||||||
redirectTo
|
redirectTo.append(pathInfo);
|
||||||
// .append("/")
|
|
||||||
.append(pathInfo);
|
|
||||||
}
|
}
|
||||||
redirectTo
|
redirectTo
|
||||||
.append(".").append(lang);
|
.append(".")
|
||||||
|
.append(lang);
|
||||||
|
|
||||||
sresp.setHeader("Location", redirectTo.toString());
|
sresp.setHeader("Location", redirectTo.toString());
|
||||||
sresp.sendError(HttpServletResponse.SC_MOVED_PERMANENTLY);
|
sresp.sendError(HttpServletResponse.SC_MOVED_PERMANENTLY);
|
||||||
|
|
|
||||||
|
|
@ -93,8 +93,21 @@ public class NavigationFileResolver extends DefaultApplicationFileResolver {
|
||||||
}
|
}
|
||||||
|
|
||||||
final StringBuffer redirectTo = new StringBuffer();
|
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
|
if (DispatcherHelper.getWebappContext() != null
|
||||||
&& !DispatcherHelper.getWebappContext().trim().isEmpty()) {
|
&& !DispatcherHelper.getWebappContext().trim().isEmpty()) {
|
||||||
redirectTo.append(DispatcherHelper.getWebappContext());
|
redirectTo.append(DispatcherHelper.getWebappContext());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -103,7 +116,9 @@ public class NavigationFileResolver extends DefaultApplicationFileResolver {
|
||||||
if (cats == null) {
|
if (cats == null) {
|
||||||
lang = KernelConfig.getConfig().getDefaultLanguage();
|
lang = KernelConfig.getConfig().getDefaultLanguage();
|
||||||
} else {
|
} else {
|
||||||
final CategoryLocalizationCollection langs = cats[cats.length - 1].getCategoryLocalizationCollection();
|
final CategoryLocalizationCollection langs = cats[cats.length
|
||||||
|
- 1]
|
||||||
|
.getCategoryLocalizationCollection();
|
||||||
if (!langs.localizationExists(lang)) {
|
if (!langs.localizationExists(lang)) {
|
||||||
lang = KernelConfig.getConfig().getDefaultLanguage();
|
lang = KernelConfig.getConfig().getDefaultLanguage();
|
||||||
}
|
}
|
||||||
|
|
@ -116,7 +131,6 @@ public class NavigationFileResolver extends DefaultApplicationFileResolver {
|
||||||
.append("index.")
|
.append("index.")
|
||||||
.append(lang);
|
.append(lang);
|
||||||
|
|
||||||
|
|
||||||
sresp.setHeader("Location", redirectTo.toString());
|
sresp.setHeader("Location", redirectTo.toString());
|
||||||
try {
|
try {
|
||||||
sresp.sendError(HttpServletResponse.SC_MOVED_PERMANENTLY);
|
sresp.sendError(HttpServletResponse.SC_MOVED_PERMANENTLY);
|
||||||
|
|
|
||||||
|
|
@ -26,16 +26,17 @@ import com.arsdigita.persistence.Filter;
|
||||||
import com.arsdigita.persistence.OID;
|
import com.arsdigita.persistence.OID;
|
||||||
import com.arsdigita.persistence.SessionManager;
|
import com.arsdigita.persistence.SessionManager;
|
||||||
import com.arsdigita.xml.Element;
|
import com.arsdigita.xml.Element;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.HashSet;
|
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Set;
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
|
||||||
import org.apache.log4j.Logger;
|
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
|
* If set to true, the widget will output items as well as categories. It
|
||||||
* will only output items in the category returned by getItemsRootCategory()
|
* will only output items in the category returned by getItemsRootCategory()
|
||||||
* and its subcategories. Set to false by default.
|
* and its subcategories. Set to false by default.
|
||||||
|
* @param showItems
|
||||||
*/
|
*/
|
||||||
public void setShowItems( boolean showItems ) {
|
public void setShowItems( boolean showItems ) {
|
||||||
m_showItems = showItems;
|
m_showItems = showItems;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public Element generateXML(HttpServletRequest request,
|
public Element generateXML(HttpServletRequest request,
|
||||||
HttpServletResponse response) {
|
HttpServletResponse response) {
|
||||||
Category rootCategory = getModel().getRootCategory();
|
Category rootCategory = getModel().getRootCategory();
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue