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