Changeset 15673 for branches/feature-module-update/html
- Timestamp:
- 2007/09/11 18:27:26 (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/feature-module-update/html/admin/contents/file_manager.php
r15532 r15673 5 5 * http://www.lockon.co.jp/ 6 6 */ 7 require_once("../require.php");8 require_once(DATA_PATH . "include/file_manager.inc");9 7 10 // ---- 認証可否の判定11 $objSess = new SC_Session();12 sfIsSuccess($objSess);8 // {{{ requires 9 require_once("../../require.php"); 10 require_once(CLASS_PATH . "page_extends/admin/contents/LC_Page_Admin_Contents_FileManager_Ex.php"); 13 11 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 23 14 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(); 18 register_shutdown_function(array($objPage, "destroy")); 208 19 ?>
Note: See TracChangeset
for help on using the changeset viewer.