Changeset 16996 for branches


Ignore:
Timestamp:
2008/01/22 10:48:17 (15 years ago)
Author:
satou
Message:

#227 『管理画面:コンテンツ管理:ファイル管理』でuser_dataディレクトリ以外のディレクトリが表示されてしまうバグを改修。

Location:
branches
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/beta/html/admin/contents/file_manager.php

    r17 r16996  
    6363    } 
    6464    break; 
     65     
    6566// ¥Õ¥¡¥¤¥ë¥À¥¦¥ó¥í¡¼¥É 
    6667case 'download': 
    67  
    6868    // ¥¨¥é¡¼¥Á¥§¥Ã¥¯ 
    6969    $arrErr = lfErrorCheck(); 
     
    7979    } 
    8080    break; 
     81     
    8182// ¥Õ¥¡¥¤¥ëºï½ü 
    8283case 'delete': 
     
    8788    } 
    8889    break; 
     90     
    8991// ¥Õ¥¡¥¤¥ëºîÀ® 
    9092case 'create': 
     
    102104    } 
    103105    break; 
     106     
    104107// ¥Õ¥¡¥¤¥ë¥¢¥Ã¥×¥í¡¼¥É 
    105108case 'upload': 
     
    112115    } 
    113116    break; 
     117     
    114118// ¥Õ¥©¥ë¥À°Üư 
    115119case 'move': 
    116     $now_dir = $_POST['tree_select_file']; 
    117     break; 
     120    $now_dir = lfCheckSelectDir($_POST['tree_select_file']); 
     121    break; 
     122     
    118123// ½é´üɽ¼¨ 
    119124default : 
     
    190195} 
    191196 
     197/* 
     198 * ´Ø¿ô̾¡§lfCheckSelectDir() 
     199 * °ú¿ô£±¡§¥Ç¥£¥ì¥¯¥È¥ê 
     200 * ÀâÌÀ¡§ÁªÂò¥Ç¥£¥ì¥¯¥È¥ê¤¬USER_PATH°Ê²¼¤«¥Á¥§¥Ã¥¯ 
     201 */ 
     202function lfCheckSelectDir($dir) { 
     203    $top_dir = USER_PATH; 
     204    // USER_PATH°Ê²¼¤Î¾ì¹ç 
     205    if (preg_match("@^\Q". $top_dir. "\E@", $dir) > 0) { 
     206        // ÁêÂХѥ¹¤¬¤¢¤ë¾ì¹ç¡¢USER_PATH¤òÊÖ¤¹. 
     207        if (preg_match("@\Q..\E@", $dir) > 0) { 
     208            return $top_dir; 
     209        // ÁêÂХѥ¹¤¬¤Ê¤¤¾ì¹ç¡¢¤½¤Î¤Þ¤Þ¥Ç¥£¥ì¥¯¥È¥ê¥Ñ¥¹¤òÊÖ¤¹. 
     210        } else { 
     211            return $dir; 
     212        } 
     213    // USER_PATH°Ê²¼¤Ç¤Ê¤¤¾ì¹ç¡¢USER_PATH¤òÊÖ¤¹. 
     214    } else { 
     215        return $top_dir; 
     216    } 
     217} 
     218 
    192219/*  
    193220 * ´Ø¿ô̾¡§lfGetParentDir() 
  • branches/feature-module-update/data/class/pages/admin/contents/LC_Page_Admin_Contents_FileManager.php

    r16751 r16996  
    160160            // フォルダ移動 
    161161        case 'move': 
    162             $now_dir = $_POST['tree_select_file']; 
     162            $now_dir = $this->lfCheckSelectDir($_POST['tree_select_file']); 
    163163            break; 
    164164            // 初期表示 
     
    251251 
    252252    /* 
     253     * 関数名:lfCheckSelectDir() 
     254     * 引数1:ディレクトリ 
     255     * 説明:選択ディレクトリがUSER_PATH以下かチェック 
     256     */ 
     257    function lfCheckSelectDir($dir) { 
     258        $top_dir = USER_PATH; 
     259        // USER_PATH以下の場合 
     260            if (preg_match("@^\Q". $top_dir. "\E@", $dir) > 0) { 
     261            // 相対パスがある場合、USER_PATHを返す. 
     262            if (preg_match("@\Q..\E@", $dir) > 0) { 
     263                return $top_dir; 
     264            // 相対パスがない場合、そのままディレクトリパスを返す. 
     265            } else { 
     266                return $dir; 
     267            } 
     268        // USER_PATH以下でない場合、USER_PATHを返す. 
     269        } else { 
     270            return $top_dir; 
     271        } 
     272    } 
     273 
     274    /* 
    253275     * 関数名:lfGetParentDir() 
    254276     * 引数1 :ディレクトリ 
Note: See TracChangeset for help on using the changeset viewer.