Index: /branches/version-2_5-dev/data/class/pages/LC_Page.php
===================================================================
--- /branches/version-2_5-dev/data/class/pages/LC_Page.php	(revision 19805)
+++ /branches/version-2_5-dev/data/class/pages/LC_Page.php	(revision 19817)
@@ -471,80 +471,4 @@
         return sha1(uniqid(rand(), true));
     }
-    
-    /**
-     * HTTPステータスコードを送出する。
-     *
-     * @param integer $code HTTPステータスコード
-     * @return void
-     * @author Seasoft (新規作成)
-     * @see Moony_Action::status() (オリジナル)
-     * @link http://moony.googlecode.com/ (オリジナル)
-     * @author YAMAOKA Hiroyuki (オリジナル)
-     * @copyright 2005-2008 YAMAOKA Hiroyuki (オリジナル)
-     * @license http://opensource.org/licenses/bsd-license.php New BSD License (オリジナル)
-     * @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 (邦訳)
-     * @license http://www.gnu.org/licenses/fdl.html GFDL (邦訳)
-     */
-    function sendHttpStatus($code) {
-        $protocol = $_SERVER['SERVER_PROTOCOL'];
-        $httpVersion = (strpos($protocol, '1.1') !== false) ? '1.1' : '1.0';
-        $messages = array(
-            // Informational 1xx                        // 【情報】
-            100 => 'Continue',                          // 継続
-            101 => 'Switching Protocols',               // プロトコル切替え
-            // Success 2xx                              // 【成功】
-            200 => 'OK',                                // OK
-            201 => 'Created',                           // 作成
-            202 => 'Accepted',                          // 受理
-            203 => 'Non-Authoritative Information',     // 信頼できない情報
-            204 => 'No Content',                        // 内容なし
-            205 => 'Reset Content',                     // 内容のリセット
-            206 => 'Partial Content',                   // 部分的内容
-            // Redirection 3xx                          // 【リダイレクション】
-            300 => 'Multiple Choices',                  // 複数の選択
-            301 => 'Moved Permanently',                 // 恒久的に移動した
-            302 => 'Found',  // 1.1                     // 発見した (リクエストしたリソースは一時的に移動されているときに返される)
-            303 => 'See Other',                         // 他を参照せよ
-            304 => 'Not Modified',                      // 未更新
-            305 => 'Use Proxy',                         // プロキシを使用せよ
-            // 306 is no longer used but still reserved // 将来のために予約されている
-            307 => 'Temporary Redirect',                // 一時的リダイレクト
-            // Client Error 4xx                         // 【クライアントエラー】
-            400 => 'Bad Request',                       // リクエストが不正である
-            401 => 'Unauthorized',                      // 認証が必要である
-            402 => 'Payment Required',                  // 支払いが必要である
-            403 => 'Forbidden',                         // 禁止されている
-            404 => 'Not Found',                         // 未検出
-            405 => 'Method Not Allowed',                // 許可されていないメソッド
-            406 => 'Not Acceptable',                    // 受理できない
-            407 => 'Proxy Authentication Required',     // プロキシ認証が必要である
-            408 => 'Request Timeout',                   // リクエストタイムアウト
-            409 => 'Conflict',                          // 矛盾
-            410 => 'Gone',                              // 消滅した
-            411 => 'Length Required',                   // 長さが必要
-            412 => 'Precondition Failed',               // 前提条件で失敗した
-            413 => 'Request Entity Too Large',          // リクエストエンティティが大きすぎる
-            414 => 'Request-URI Too Long',              // リクエストURIが大きすぎる
-            415 => 'Unsupported Media Type',            // サポートしていないメディアタイプ
-            416 => 'Requested Range Not Satisfiable',   // リクエストしたレンジは範囲外にある
-            417 => 'Expectation Failed',                // 期待するヘッダに失敗
-            // Server Error 5xx                         // 【サーバエラー】
-            500 => 'Internal Server Error',             // サーバ内部エラー
-            501 => 'Not Implemented',                   // 実装されていない
-            502 => 'Bad Gateway',                       // 不正なゲートウェイ
-            503 => 'Service Unavailable',               // サービス利用不可
-            504 => 'Gateway Timeout',                   // ゲートウェイタイムアウト
-            505 => 'HTTP Version Not Supported',        // サポートしていないHTTPバージョン
-            509 => 'Bandwidth Limit Exceeded'           // 帯域幅制限超過
-        );
-        if (isset($messages[$code])) {
-            if ($httpVersion !== '1.1') {
-                // HTTP/1.0
-                $messages[302] = 'Moved Temporarily';
-            }
-            header("HTTP/{$httpVersion} {$code} {$messages[$code]}");
-            header("Status: {$code} {$messages[$code]}", true, $code);
-        }
-    }
 }
 ?>
Index: /branches/version-2_5-dev/data/class/pages/error/LC_Page_Error.php
===================================================================
--- /branches/version-2_5-dev/data/class/pages/error/LC_Page_Error.php	(revision 19805)
+++ /branches/version-2_5-dev/data/class/pages/error/LC_Page_Error.php	(revision 19817)
@@ -85,5 +85,5 @@
             case PRODUCT_NOT_FOUND:
                 $this->tpl_error="ご指定のページはございません。";
-                $this->sendHttpStatus(404);
+                SC_Response_Ex::sendHttpStatus(404);
                 break;
             case PAGE_ERROR:
@@ -101,5 +101,5 @@
             case CATEGORY_NOT_FOUND:
                 $this->tpl_error="ご指定のカテゴリは存在しません。";
-                $this->sendHttpStatus(404);
+                SC_Response_Ex::sendHttpStatus(404);
                 break;
             case SITE_LOGIN_ERROR:
Index: /branches/version-2_5-dev/data/class/SC_Response.php
===================================================================
--- /branches/version-2_5-dev/data/class/SC_Response.php	(revision 19802)
+++ /branches/version-2_5-dev/data/class/SC_Response.php	(revision 19817)
@@ -185,3 +185,79 @@
     }
 
+    /**
+     * HTTPステータスコードを送出する。
+     *
+     * @param integer $code HTTPステータスコード
+     * @return void
+     * @author Seasoft (新規作成)
+     * @see Moony_Action::status() (オリジナル)
+     * @link http://moony.googlecode.com/ (オリジナル)
+     * @author YAMAOKA Hiroyuki (オリジナル)
+     * @copyright 2005-2008 YAMAOKA Hiroyuki (オリジナル)
+     * @license http://opensource.org/licenses/bsd-license.php New BSD License (オリジナル)
+     * @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 (邦訳)
+     * @license http://www.gnu.org/licenses/fdl.html GFDL (邦訳)
+     * @static
+     */
+    function sendHttpStatus($code) {
+        $protocol = $_SERVER['SERVER_PROTOCOL'];
+        $httpVersion = (strpos($protocol, '1.1') !== false) ? '1.1' : '1.0';
+        $messages = array(
+            // Informational 1xx                        // 【情報】
+            100 => 'Continue',                          // 継続
+            101 => 'Switching Protocols',               // プロトコル切替え
+            // Success 2xx                              // 【成功】
+            200 => 'OK',                                // OK
+            201 => 'Created',                           // 作成
+            202 => 'Accepted',                          // 受理
+            203 => 'Non-Authoritative Information',     // 信頼できない情報
+            204 => 'No Content',                        // 内容なし
+            205 => 'Reset Content',                     // 内容のリセット
+            206 => 'Partial Content',                   // 部分的内容
+            // Redirection 3xx                          // 【リダイレクション】
+            300 => 'Multiple Choices',                  // 複数の選択
+            301 => 'Moved Permanently',                 // 恒久的に移動した
+            302 => 'Found',  // 1.1                     // 発見した (リクエストしたリソースは一時的に移動されているときに返される)
+            303 => 'See Other',                         // 他を参照せよ
+            304 => 'Not Modified',                      // 未更新
+            305 => 'Use Proxy',                         // プロキシを使用せよ
+            // 306 is no longer used but still reserved // 将来のために予約されている
+            307 => 'Temporary Redirect',                // 一時的リダイレクト
+            // Client Error 4xx                         // 【クライアントエラー】
+            400 => 'Bad Request',                       // リクエストが不正である
+            401 => 'Unauthorized',                      // 認証が必要である
+            402 => 'Payment Required',                  // 支払いが必要である
+            403 => 'Forbidden',                         // 禁止されている
+            404 => 'Not Found',                         // 未検出
+            405 => 'Method Not Allowed',                // 許可されていないメソッド
+            406 => 'Not Acceptable',                    // 受理できない
+            407 => 'Proxy Authentication Required',     // プロキシ認証が必要である
+            408 => 'Request Timeout',                   // リクエストタイムアウト
+            409 => 'Conflict',                          // 矛盾
+            410 => 'Gone',                              // 消滅した
+            411 => 'Length Required',                   // 長さが必要
+            412 => 'Precondition Failed',               // 前提条件で失敗した
+            413 => 'Request Entity Too Large',          // リクエストエンティティが大きすぎる
+            414 => 'Request-URI Too Long',              // リクエストURIが大きすぎる
+            415 => 'Unsupported Media Type',            // サポートしていないメディアタイプ
+            416 => 'Requested Range Not Satisfiable',   // リクエストしたレンジは範囲外にある
+            417 => 'Expectation Failed',                // 期待するヘッダに失敗
+            // Server Error 5xx                         // 【サーバエラー】
+            500 => 'Internal Server Error',             // サーバ内部エラー
+            501 => 'Not Implemented',                   // 実装されていない
+            502 => 'Bad Gateway',                       // 不正なゲートウェイ
+            503 => 'Service Unavailable',               // サービス利用不可
+            504 => 'Gateway Timeout',                   // ゲートウェイタイムアウト
+            505 => 'HTTP Version Not Supported',        // サポートしていないHTTPバージョン
+            509 => 'Bandwidth Limit Exceeded'           // 帯域幅制限超過
+        );
+        if (isset($messages[$code])) {
+            if ($httpVersion !== '1.1') {
+                // HTTP/1.0
+                $messages[302] = 'Moved Temporarily';
+            }
+            header("HTTP/{$httpVersion} {$code} {$messages[$code]}");
+            header("Status: {$code} {$messages[$code]}", true, $code);
+        }
+    }
 }
