Changeset 19908 for branches/version-2_5-dev/data/class/SC_Response.php
- Timestamp:
- 2011/01/13 16:23:02 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/version-2_5-dev/data/class/SC_Response.php
r19834 r19908 132 132 133 133 /** 134 * @param string $location 「url-path」「現在のURLからのパス」「URL」のいずれか 134 * アプリケーション内でリダイレクトする 135 * 136 * @param string $location 「url-path」「現在のURLからのパス」「URL」のいずれか。「../」の解釈は行なわない。 135 137 * @return void 136 138 * @static … … 171 173 } 172 174 173 // アプリケーション内での遷移時の処理174 175 $pattern = '/^(' . preg_quote(HTTP_URL, '/') . '|' . preg_quote(HTTPS_URL, '/') . ')/'; 175 if (preg_match($pattern, $url)) { 176 $netUrl = new Net_URL($url); 177 $arrQueryString = array_merge($netUrl->querystring, $arrQueryString); 178 $netUrl->querystring = array(); 179 180 if ($inheritQueryString) { 181 if (!empty($_SERVER['QUERY_STRING'])) { 182 $netUrl->addRawQueryString($_SERVER['QUERY_STRING']); 183 } 176 177 // アプリケーション外へのリダイレクトは扱わない 178 if (preg_match($pattern, $url) === 0) { 179 SC_Utils_Ex::sfDispException(); 180 } 181 182 $netUrl = new Net_URL($url); 183 $arrQueryString = array_merge($netUrl->querystring, $arrQueryString); 184 $netUrl->querystring = array(); 185 186 if ($inheritQueryString) { 187 if (!empty($_SERVER['QUERY_STRING'])) { 188 $netUrl->addRawQueryString($_SERVER['QUERY_STRING']); 184 189 } 185 186 foreach ($arrQueryString as $key => $val) { 187 $netUrl->addQueryString($key, $val);188 }189 190 $url = $netUrl->getURL(); 191 192 $session = SC_SessionFactory::getInstance(); 193 if (SC_MobileUserAgent::isMobile() || $session->useCookie() == false) {194 $netUrl->addQueryString(session_name(), session_id());195 }196 197 $netUrl->addQueryString(TRANSACTION_ID_NAME, SC_Helper_Session_Ex::getToken()); 198 $url = $netUrl->getURL();199 }190 } 191 192 foreach ($arrQueryString as $key => $val) { 193 $netUrl->addQueryString($key, $val); 194 } 195 196 $url = $netUrl->getURL(); 197 198 $session = SC_SessionFactory::getInstance(); 199 if (SC_MobileUserAgent::isMobile() || $session->useCookie() == false) { 200 $netUrl->addQueryString(session_name(), session_id()); 201 } 202 203 $netUrl->addQueryString(TRANSACTION_ID_NAME, SC_Helper_Session_Ex::getToken()); 204 $url = $netUrl->getURL(); 200 205 201 206 header("Location: $url"); … … 206 211 * HTML_PATH からのパスを指定してリダイレクトする 207 212 * 208 * @param string $location /html/ からの相対パス 213 * @param string $location /html/ からの相対パス。先頭に / を含むかは任意。「../」の解釈は行なわない。 209 214 * @return void 210 215 * @static 211 216 */ 212 217 function sendRedirectFromUrlPath($location, $arrQueryString = array(), $inheritQueryString = false, $useSsl = null) { 213 $location = URL_PATH . $location;218 $location = URL_PATH . ltrim($location, '/'); 214 219 SC_Response_Ex::sendRedirect($location, $arrQueryString, $inheritQueryString, $useSsl); 215 220 }
Note: See TracChangeset
for help on using the changeset viewer.