[Svn-src-all:1522] [version-2_5-dev 20418] refs #1047 #1016

shutta admin @ mail.ec-cube.net
2011年 2月 26日 (土) 18:59:06 JST


Subversion committed to /home/svn/open 20418
http://svn.ec-cube.net/open_trac/changeset/20418
┌────────────────────────────┐
│更新者 :  shutta                                       │
│更新日時:  2011-02-26 18:59:06 +0900 (土, 26  2月 2011)│
└────────────────────────────┘

Log:
--------------------------------------------------------
refs #1047 #1016
ファイル管理で、拡張子のないファイルを表示しようとするとエラーになっていたのを修正。
#1016 の r20209 にて、リファクタリング後に元実装と挙動が変わってしまっていたのを修正。


Changed:                      [U:修正,A:追加,D:削除]
--------------------------------------------------------
U   branches/version-2_5-dev/data/class/pages/admin/contents/LC_Page_Admin_Contents_FileView.php

変更: branches/version-2_5-dev/data/class/pages/admin/contents/LC_Page_Admin_Contents_FileView.php
===================================================================
--- branches/version-2_5-dev/data/class/pages/admin/contents/LC_Page_Admin_Contents_FileView.php	2011-02-26 09:32:43 UTC (rev 20417)
+++ branches/version-2_5-dev/data/class/pages/admin/contents/LC_Page_Admin_Contents_FileView.php	2011-02-26 09:59:06 UTC (rev 20418)
@@ -113,6 +113,21 @@
         // FIXME パスのチェック関数が必要
         $file = $objFormParam->getValue('file');
 
+        if (!preg_match('|\./|', $file)) {
+            $file_check_flg = true;
+        }
+
+        return $file_check_flg;
+    }
+
+    /**
+     * ファイル内容を表示する
+     * 
+     * @return void
+     */
+    function execFileView($objFormParam) {
+        $file = $objFormParam->getValue('file');
+
         // ソースとして表示するファイルを定義(直接実行しないファイル)
         $arrViewFile = array(
             'html',
@@ -123,25 +138,16 @@
             'js',
         );
 
-        $extension = pathinfo($objFormParam->getValue('file'), PATHINFO_EXTENSION);
+        $extension = pathinfo($file, PATHINFO_EXTENSION);
 
-        if (!preg_match('|\./|', $file) && in_array($extension, $arrViewFile)) {
-            $file_check_flg = true;
+        if (in_array($extension, $arrViewFile)) {
+            $objFileManager = new SC_Helper_FileManager_Ex();
+            // ファイルを読み込んで表示
+            header("Content-type: text/plain\n\n");
+            print($objFileManager->sfReadFile(USER_REALDIR . $file));
+        } else {
+            SC_Response_Ex::sendRedirect(USER_URL . $file);
         }
-
-        return $file_check_flg;
     }
-
-    /**
-     * ファイル内容を表示する
-     * 
-     * @return void
-     */
-    function execFileView($objFormParam) {
-        $objFileManager = new SC_Helper_FileManager_Ex();
-        // ファイルを読み込んで表示
-        header("Content-type: text/plain\n\n");
-        print($objFileManager->sfReadFile(USER_REALDIR . $objFormParam->getValue('file')));
-    }
 }
 ?>




Svn-src-all メーリングリストの案内