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