Changeset 18140 for branches/comu-ver2/data
- Timestamp:
- 2009/06/27 21:57:52 (15 years ago)
- Location:
- branches/comu-ver2/data/class/pages
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/comu-ver2/data/class/pages/LC_Page.php
r18132 r18140 345 345 return sha1(uniqid(rand(), true)); 346 346 } 347 348 /** 349 * HTTPステータスコードを送出する。 350 * 351 * @param integer $code HTTPステータスコード 352 * @return void 353 * @author Seasoft (新規作成) 354 * @see Moony_Action::status() (オリジナル) 355 * @link http://moony.googlecode.com/ (オリジナル) 356 * @author YAMAOKA Hiroyuki (オリジナル) 357 * @copyright 2005-2008 YAMAOKA Hiroyuki (オリジナル) 358 * @license http://opensource.org/licenses/bsd-license.php New BSD License (オリジナル) 359 * @link http://ja.wikipedia.org/wiki/HTTP%E3%82%B9%E3%83%86%E3%83%BC%E3%82%BF%E3%82%B9%E3%82%B3%E3%83%BC%E3%83%89 (邦訳) 360 * @license http://www.gnu.org/licenses/fdl.html GFDL (邦訳) 361 */ 362 function sendHttpStatus($code) { 363 $protocol = $_SERVER['SERVER_PROTOCOL']; 364 $httpVersion = (strpos($protocol, '1.1') !== false) ? '1.1' : '1.0'; 365 $messages = array( 366 // Informational 1xx // 【情報】 367 100 => 'Continue', // 継続 368 101 => 'Switching Protocols', // プロトコル切替え 369 // Success 2xx // 【成功】 370 200 => 'OK', // OK 371 201 => 'Created', // 作成 372 202 => 'Accepted', // 受理 373 203 => 'Non-Authoritative Information', // 信頼できない情報 374 204 => 'No Content', // 内容なし 375 205 => 'Reset Content', // 内容のリセット 376 206 => 'Partial Content', // 部分的内容 377 // Redirection 3xx // 【リダイレクション】 378 300 => 'Multiple Choices', // 複数の選択 379 301 => 'Moved Permanently', // 恒久的に移動した 380 302 => 'Found', // 1.1 // 発見した (リクエストしたリソースは一時的に移動されているときに返される) 381 303 => 'See Other', // 他を参照せよ 382 304 => 'Not Modified', // 未更新 383 305 => 'Use Proxy', // プロキシを使用せよ 384 // 306 is no longer used but still reserved // 将来のために予約されている 385 307 => 'Temporary Redirect', // 一時的リダイレクト 386 // Client Error 4xx // 【クライアントエラー】 387 400 => 'Bad Request', // リクエストが不正である 388 401 => 'Unauthorized', // 認証が必要である 389 402 => 'Payment Required', // 支払いが必要である 390 403 => 'Forbidden', // 禁止されている 391 404 => 'Not Found', // 未検出 392 405 => 'Method Not Allowed', // 許可されていないメソッド 393 406 => 'Not Acceptable', // 受理できない 394 407 => 'Proxy Authentication Required', // プロキシ認証が必要である 395 408 => 'Request Timeout', // リクエストタイムアウト 396 409 => 'Conflict', // 矛盾 397 410 => 'Gone', // 消滅した 398 411 => 'Length Required', // 長さが必要 399 412 => 'Precondition Failed', // 前提条件で失敗した 400 413 => 'Request Entity Too Large', // リクエストエンティティが大きすぎる 401 414 => 'Request-URI Too Long', // リクエストURIが大きすぎる 402 415 => 'Unsupported Media Type', // サポートしていないメディアタイプ 403 416 => 'Requested Range Not Satisfiable', // リクエストしたレンジは範囲外にある 404 417 => 'Expectation Failed', // 期待するヘッダに失敗 405 // Server Error 5xx // 【サーバエラー】 406 500 => 'Internal Server Error', // サーバ内部エラー 407 501 => 'Not Implemented', // 実装されていない 408 502 => 'Bad Gateway', // 不正なゲートウェイ 409 503 => 'Service Unavailable', // サービス利用不可 410 504 => 'Gateway Timeout', // ゲートウェイタイムアウト 411 505 => 'HTTP Version Not Supported', // サポートしていないHTTPバージョン 412 509 => 'Bandwidth Limit Exceeded' // 帯域幅制限超過 413 ); 414 if (isset($messages[$code])) { 415 if ($httpVersion !== '1.1') { 416 // HTTP/1.0 417 $messages[302] = 'Moved Temporarily'; 418 } 419 header("HTTP/{$httpVersion} {$code} {$messages[$code]}"); 420 header("Status: {$code} {$messages[$code]}", true, $code); 421 } 422 } 347 423 } 348 424 ?> -
branches/comu-ver2/data/class/pages/error/LC_Page_Error.php
r16741 r18140 87 87 case PRODUCT_NOT_FOUND: 88 88 $this->tpl_error="ご指定のページはございません。"; 89 $this->sendHttpStatus(404); 89 90 break; 90 91 case PAGE_ERROR: … … 102 103 case CATEGORY_NOT_FOUND: 103 104 $this->tpl_error="ご指定のカテゴリは存在しません。"; 105 $this->sendHttpStatus(404); 104 106 break; 105 107 case SITE_LOGIN_ERROR:
Note: See TracChangeset
for help on using the changeset viewer.