source: branches/dev/html/admin/contents/file_manager.php @ 17

Revision 17, 5.3 KB checked in by uehara, 17 years ago (diff)
Line 
1<?php
2/*
3 * Copyright(c) 2000-2007 LOCKON CO.,LTD. All Rights Reserved.
4 *
5 * http://www.lockon.co.jp/
6 */
7require_once("../require.php");
8require_once(DATA_PATH . "include/file_manager.inc");
9
10//---- ǧ¾Ú²ÄÈݤÎȽÄê
11$objSess = new SC_Session();
12sfIsSuccess($objSess);
13
14class 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}
23
24// ¥ë¡¼¥È¥Ç¥£¥ì¥¯¥È¥ê
25$top_dir = USER_PATH;
26
27$objPage = new LC_Page();
28$objView = new SC_AdminView();
29$objQuery = new SC_Query();
30
31// ¸½ºß¤Î³¬Áؤò¼èÆÀ
32if($_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// ¥Õ¥¡¥¤¥ë¾ðÊó¤Î½é´ü²½
42lfInitFile();
43
44switch($_POST['mode']) {
45
46// ¥Õ¥¡¥¤¥ëɽ¼¨
47case '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// ¥Õ¥¡¥¤¥ë¥À¥¦¥ó¥í¡¼¥É
66case '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// ¥Õ¥¡¥¤¥ëºï½ü
82case 'delete':
83    // ¥¨¥é¡¼¥Á¥§¥Ã¥¯
84    $arrErr = lfErrorCheck();
85    if(!is_array($arrErr)) {
86        sfDeleteDir($_POST['select_file']);
87    }
88    break;
89// ¥Õ¥¡¥¤¥ëºîÀ®
90case '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// ¥Õ¥¡¥¤¥ë¥¢¥Ã¥×¥í¡¼¥É
105case '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// ¥Õ¥©¥ë¥À°ÜÆ°
115case 'move':
116    $now_dir = $_POST['tree_select_file'];
117    break;
118// ½é´üɽ¼¨
119default :
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);
127if($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";
146foreach($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 */
165function 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 */
176function 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 */
187function 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 */
197function 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}
208?>
Note: See TracBrowser for help on using the repository browser.