1
19
20 package com.liferay.util.bridges.php;
21
22 import com.liferay.portal.kernel.util.JavaConstants;
23 import com.liferay.portal.kernel.util.StringPool;
24
25 import java.util.Enumeration;
26 import java.util.Map;
27
28 import javax.portlet.PortletConfig;
29 import javax.portlet.RenderRequest;
30 import javax.portlet.RenderResponse;
31
32 import javax.servlet.ServletConfig;
33 import javax.servlet.http.HttpServletRequest;
34 import javax.servlet.http.HttpServletRequestWrapper;
35
36
42 public class PHPServletRequest extends HttpServletRequestWrapper {
43
44 public PHPServletRequest(
45 HttpServletRequest request, ServletConfig servletConfig,
46 RenderRequest renderRequest, RenderResponse renderResponse,
47 PortletConfig portletConfig, String phpURI, boolean addPortletParams) {
48
49 super(request);
50
51 _servletConfig = servletConfig;
52 _renderRequest = renderRequest;
53 _renderResponse = renderResponse;
54 _portletConfig = portletConfig;
55
56 StringBuilder sb = new StringBuilder();
57
58 int pos = phpURI.indexOf(StringPool.QUESTION);
59
60 if (pos != -1) {
61 _path = phpURI.substring(0, pos);
62
63 sb.append(phpURI.substring(pos + 1));
64 }
65 else {
66 _path = phpURI;
67 }
68
69 if (addPortletParams) {
70 sb.append(StringPool.AMPERSAND);
71 sb.append("portlet_namespace");
72 sb.append(StringPool.EQUAL);
73 sb.append(_renderResponse.getNamespace());
74 sb.append(StringPool.AMPERSAND);
75 sb.append("portlet_name");
76 sb.append(StringPool.EQUAL);
77 sb.append(_portletConfig.getPortletName());
78 }
79
80 _queryString = sb.toString();
81
82 request.setAttribute(
83 JavaConstants.JAVAX_SERVLET_INCLUDE_QUERY_STRING, getQueryString());
84 request.setAttribute(
85 JavaConstants.JAVAX_SERVLET_INCLUDE_PATH_INFO, getPathInfo());
86 request.setAttribute(
87 JavaConstants.JAVAX_SERVLET_INCLUDE_REQUEST_URI, getRequestURI());
88 request.setAttribute(
89 JavaConstants.JAVAX_SERVLET_INCLUDE_SERVLET_PATH, _path);
90 }
91
92 public String getContextPath() {
93 return StringPool.SLASH;
94 }
95
96 public String getParameter(String name) {
97 return _renderRequest.getParameter(name);
98 }
99
100 public Map<String, String[]> getParameterMap() {
101 return _renderRequest.getParameterMap();
102 }
103
104 public Enumeration<String> getParameterNames() {
105 return _renderRequest.getParameterNames();
106 }
107
108 public String[] getParameterValues(String name) {
109 return _renderRequest.getParameterValues(name);
110 }
111
112 public String getPathInfo() {
113 return StringPool.BLANK;
114 }
115
116 public String getPathTranslated() {
117 return StringPool.BLANK;
118 }
119
120 public String getQueryString() {
121 return _queryString;
122 }
123
124 public String getRealPath(String path) {
125 return _servletConfig.getServletContext().getRealPath(path);
126 }
127
128 public String getRequestURI() {
129 return _path + StringPool.QUESTION + _queryString;
130 }
131
132 public StringBuffer getRequestURL() {
133 StringBuffer sb = new StringBuffer();
134
135 sb.append(getRequest().getProtocol());
136 sb.append("://");
137 sb.append(getRequest().getRemoteHost());
138 sb.append(StringPool.COLON);
139 sb.append(getRequest().getServerPort());
140 sb.append(StringPool.SLASH);
141 sb.append(getRequestURI());
142
143 return sb;
144 }
145
146 public String getServletPath() {
147 return _path;
148 }
149
150 private ServletConfig _servletConfig;
151 private PortletConfig _portletConfig;
152 private RenderRequest _renderRequest;
153 private RenderResponse _renderResponse;
154 private String _queryString;
155 private String _path;
156
157 }