Changeset 15673


Ignore:
Timestamp:
2007/09/11 18:27:26 (13 years ago)
Author:
nanasess
Message:

クラス化に伴う修正

Location:
branches/feature-module-update
Files:
2 added
1 edited

Legend:

Unmodified
Added
Removed
  • branches/feature-module-update/html/admin/contents/file_manager.php

    r15532 r15673  
    55 * http://www.lockon.co.jp/ 
    66 */ 
    7 require_once("../require.php"); 
    8 require_once(DATA_PATH . "include/file_manager.inc"); 
    97 
    10 //---- 認証可否の判定 
    11 $objSess = new SC_Session(); 
    12 sfIsSuccess($objSess); 
     8// {{{ requires 
     9require_once("../../require.php"); 
     10require_once(CLASS_PATH . "page_extends/admin/contents/LC_Page_Admin_Contents_FileManager_Ex.php"); 
    1311 
    14 class LC_Page{ 
    15     function LC_Page() { 
    16         $this->tpl_mainpage = 'contents/file_manager.tpl'; 
    17         $this->tpl_mainno = 'contents'; 
    18         $this->tpl_subnavi = 'contents/subnavi.tpl'; 
    19         $this->tpl_subno = "file"; 
    20         $this->tpl_subtitle = 'ファイル管理';      
    21     } 
    22 } 
     12// }}} 
     13// {{{ generate page 
    2314 
    24 // ルートディレクトリ 
    25 $top_dir = USER_PATH; 
    26  
    27 $objPage = new LC_Page(); 
    28 $objView = new SC_AdminView(); 
    29 $objQuery = new SC_Query(); 
    30  
    31 // 現在の階層を取得 
    32 if($_POST['mode'] != "") { 
    33     $now_dir = $_POST['now_file']; 
    34 } else { 
    35     // 初期表示はルートディレクトリ(user_data/)を表示 
    36     $now_dir = $top_dir; 
    37 } 
    38  
    39 // ファイル管理クラス 
    40 $objUpFile = new SC_UploadFile($now_dir, $now_dir); 
    41 // ファイル情報の初期化 
    42 lfInitFile(); 
    43  
    44 switch($_POST['mode']) { 
    45  
    46 // ファイル表示 
    47 case 'view': 
    48     // エラーチェック 
    49     $arrErr = lfErrorCheck(); 
    50     if(!is_array($arrErr)) { 
    51      
    52         // 選択されたファイルがディレクトリなら移動 
    53         if(is_dir($_POST['select_file'])) { 
    54             ///$now_dir = $_POST['select_file']; 
    55             // ツリー遷移用のjavascriptを埋め込む 
    56             $arrErr['select_file'] = "※ ディレクトリを表示することは出来ません。<br/>"; 
    57              
    58         } else { 
    59             // javascriptで別窓表示(テンプレート側に渡す) 
    60             $file_url = ereg_replace(USER_PATH, "", $_POST['select_file']); 
    61             $tpl_onload = "win02('./file_view.php?file=". $file_url ."', 'user_data', '600', '400');"; 
    62         } 
    63     } 
    64     break; 
    65 // ファイルダウンロード 
    66 case 'download': 
    67  
    68     // エラーチェック 
    69     $arrErr = lfErrorCheck(); 
    70     if(!is_array($arrErr)) { 
    71         if(is_dir($_POST['select_file'])) { 
    72             // ディレクトリの場合はjavascriptエラー 
    73             $arrErr['select_file'] = "※ ディレクトリをダウンロードすることは出来ません。<br/>"; 
    74         } else { 
    75             // ファイルダウンロード 
    76             sfDownloadFile($_POST['select_file']); 
    77             exit;            
    78         } 
    79     } 
    80     break; 
    81 // ファイル削除 
    82 case 'delete': 
    83     // エラーチェック 
    84     $arrErr = lfErrorCheck(); 
    85     if(!is_array($arrErr)) { 
    86         sfDeleteDir($_POST['select_file']); 
    87     } 
    88     break; 
    89 // ファイル作成 
    90 case 'create': 
    91     // エラーチェック 
    92     $arrErr = lfCreateErrorCheck(); 
    93     if(!is_array($arrErr)) { 
    94         $create_dir = ereg_replace("/$", "", $now_dir); 
    95         // ファイル作成 
    96         if(!sfCreateFile($create_dir."/".$_POST['create_file'], 0755)) { 
    97             // 作成エラー 
    98             $arrErr['create_file'] = "※ ".$_POST['create_file']."の作成に失敗しました。<br/>"; 
    99         } else { 
    100             $tpl_onload .= "alert('フォルダを作成しました。');"; 
    101         } 
    102     } 
    103     break; 
    104 // ファイルアップロード 
    105 case 'upload': 
    106     // 画像保存処理 
    107     $ret = $objUpFile->makeTempFile('upload_file', false); 
    108     if($ret != "") { 
    109         $arrErr['upload_file'] = $ret; 
    110     } else { 
    111         $tpl_onload .= "alert('ファイルをアップロードしました。');"; 
    112     } 
    113     break; 
    114 // フォルダ移動 
    115 case 'move': 
    116     $now_dir = $_POST['tree_select_file']; 
    117     break; 
    118 // 初期表示 
    119 default : 
    120     break; 
    121 } 
    122 // トップディレクトリか調査 
    123 $is_top_dir = false; 
    124 // 末尾の/をとる 
    125 $top_dir_check = ereg_replace("/$", "", $top_dir); 
    126 $now_dir_check = ereg_replace("/$", "", $now_dir); 
    127 if($top_dir_check == $now_dir_check) $is_top_dir = true; 
    128  
    129 // 現在の階層より一つ上の階層を取得 
    130 $parent_dir = lfGetParentDir($now_dir); 
    131  
    132 // 現在のディレクトリ配下のファイル一覧を取得 
    133 $objPage->arrFileList = sfGetFileList($now_dir); 
    134 $objPage->tpl_is_top_dir = $is_top_dir; 
    135 $objPage->tpl_parent_dir = $parent_dir; 
    136 $objPage->tpl_now_dir = $now_dir; 
    137 $objPage->tpl_now_file = basename($now_dir); 
    138 $objPage->arrErr = $arrErr; 
    139 $objPage->arrParam = $_POST; 
    140  
    141 // ツリーを表示する divタグid, ツリー配列変数名, 現在ディレクトリ, 選択ツリーhidden名, ツリー状態hidden名, mode hidden名 
    142 $objPage->tpl_onload .= "fnTreeView('tree', arrTree, '$now_dir', 'tree_select_file', 'tree_status', 'move');$tpl_onload"; 
    143 // ツリー配列作成用 javascript 
    144 $arrTree = sfGetFileTree($top_dir, $_POST['tree_status']); 
    145 $objPage->tpl_javascript .= "arrTree = new Array();\n"; 
    146 foreach($arrTree as $arrVal) { 
    147     $objPage->tpl_javascript .= "arrTree[".$arrVal['count']."] = new Array(".$arrVal['count'].", '".$arrVal['type']."', '".$arrVal['path']."', ".$arrVal['rank'].","; 
    148     if ($arrVal['open']) { 
    149         $objPage->tpl_javascript .= "true);\n"; 
    150     } else { 
    151         $objPage->tpl_javascript .= "false);\n"; 
    152     } 
    153 } 
    154  
    155 // 画面の表示 
    156 $objView->assignobj($objPage); 
    157 $objView->display(MAIN_FRAME); 
    158  
    159 //----------------------------------------------------------------------------------------------------------------------------------- 
    160  
    161 /*  
    162  * 関数名:lfErrorCheck() 
    163  * 説明 :エラーチェック 
    164  */ 
    165 function lfErrorCheck() { 
    166     $objErr = new SC_CheckError($_POST); 
    167     $objErr->doFunc(array("ファイル", "select_file"), array("SELECT_CHECK")); 
    168      
    169     return $objErr->arrErr; 
    170 } 
    171  
    172 /*  
    173  * 関数名:lfCreateErrorCheck() 
    174  * 説明 :ファイル作成処理エラーチェック 
    175  */ 
    176 function lfCreateErrorCheck() { 
    177     $objErr = new SC_CheckError($_POST); 
    178     $objErr->doFunc(array("作成ファイル名", "create_file"), array("EXIST_CHECK", "FILE_NAME_CHECK_BY_NOUPLOAD")); 
    179      
    180     return $objErr->arrErr; 
    181 } 
    182  
    183 /*  
    184  * 関数名:lfInitFile() 
    185  * 説明 :ファイル情報の初期化 
    186  */ 
    187 function lfInitFile() { 
    188     global $objUpFile; 
    189     $objUpFile->addFile("ファイル", 'upload_file', array(), FILE_SIZE, true, 0, 0, false); 
    190 } 
    191  
    192 /*  
    193  * 関数名:lfGetParentDir() 
    194  * 引数1 :ディレクトリ 
    195  * 説明 :親ディレクトリ取得 
    196  */ 
    197 function lfGetParentDir($dir) { 
    198     $dir = ereg_replace("/$", "", $dir); 
    199     $arrDir = split('/', $dir); 
    200     array_pop($arrDir); 
    201     foreach($arrDir as $val) { 
    202         $parent_dir .= "$val/"; 
    203     } 
    204     $parent_dir = ereg_replace("/$", "", $parent_dir); 
    205      
    206     return $parent_dir; 
    207 } 
     15$objPage = new LC_Page_Admin_Contents_FileManager_Ex(); 
     16$objPage->init(); 
     17$objPage->process(); 
     18register_shutdown_function(array($objPage, "destroy")); 
    20819?> 
Note: See TracChangeset for help on using the changeset viewer.