- Timestamp:
- 2007/07/23 22:20:27 (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/feature-module-update/data/class/pages/LC_Page.php
r15113 r15117 97 97 . "|" . preg_quote(SSL_URL, '/') . ")/", $url)) { 98 98 99 // TODO パラメータが存在する場合の対応 99 100 header("Location: " . $url . "?" . TRANSACTION_ID_NAME . "=" . $this->getToken()); 100 101 } … … 162 163 } 163 164 165 /** 166 * $path から URL を取得する. 167 * 168 * 以下の順序で 引数 $path から URL を取得する. 169 * 1. realpath($path) で $path の 絶対パスを取得 170 * 2. $_SERVER['DOCUMENT_ROOT'] と一致する文字列を削除 171 * 3. $useSSL の値に応じて, SITE_URL 又は, SSL_URL を付与する. 172 * 173 * 返り値に, QUERY_STRING を含めたい場合は, key => value 形式 174 * の配列を $param へ渡す. 175 * 176 * @param string $path 結果を取得するためのパス 177 * @param array $param URL に付与するパラメータの配列 178 * @param boolean $useSSL 結果に SSL_URL を使用する場合 true, 179 * SITE_URL を使用する場合 false, 180 * デフォルト false 181 * @param string $documentRoot DocumentRoot の文字列. 指定しない場合は, 182 * $_SERVER['DOCUMENT_ROOT'] が付与される. 183 * @return string $path の存在する http(s):// から始まる絶対パス 184 */ 185 function getLocation($path, $param = array(), $useSSL = false, $documentRoot = "") { 186 187 if (empty($documentRoot)) { 188 $documentRoot = $_SERVER['DOCUMENT_ROOT']; 189 } 190 // DocumentRoot を削除した文字列を取得. 191 $root = str_replace($documentRoot, "", realpath($path)); 192 // 先頭の / を削除 193 $root = substr_replace($root, "", 0, 1); 194 195 if ($useSSL) { 196 $url = SSL_URL . $root; 197 } else { 198 $url = SITE_URL . $root; 199 } 200 201 // QUERY_STRING 生成 202 $queryString = ""; 203 $i = count($param); 204 foreach ($param as $key => $val) { 205 $queryString .= $key . "=" . $val; 206 207 if ($i > 1) { 208 $queryString .= "&"; 209 } 210 $i--; 211 } 212 213 // QUERY_STRING が存在する場合は付与して返す. 214 if (empty($queryString)) { 215 return $url; 216 } else { 217 return $url . "?" . $queryString; 218 } 219 } 220 164 221 // }}} 165 222 // {{{ private functions
Note: See TracChangeset
for help on using the changeset viewer.