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