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