main.php 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  3. <head>
  4. <title>Filemanager</title>
  5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  6. <link rel="shortcut icon" href="/images/filemanager.ico?" type="image/x-icon">
  7. <link rel="icon" href="/images/filemanager.ico?" type="image/x-icon">
  8. <link rel="stylesheet" href="/css/file_manager.css" type="text/css" />
  9. <link rel="stylesheet" type="text/css" href="/css/uploadify.css" />
  10. <link href="//cdnjs.cloudflare.com/ajax/libs/fotorama/4.6.2/fotorama.css" rel="stylesheet">
  11. <style type="text/css" media="print, screen and (min-width: 481px)"></style>
  12. <!-- link rel="shortcut icon" href="/2008/site/images/favicon.ico" type="image/x-icon" / -->
  13. <link rel="stylesheet" href="/css/jquery.arcticmodal.css">
  14. <link rel="stylesheet" href="/css/jquery.fileupload.css">
  15. </head>
  16. <body>
  17. <div id="main">
  18. <div class="window active">
  19. <div class="pwd">
  20. <? /* <? foreach($pwd as $dir ){
  21. $path .= '/'.$dir;
  22. echo '<a href="/admin.php?page=tor/index.php&files=1&path='.$path.'">'.$dir.'</a>';
  23. } ?> */ ?>
  24. </div>
  25. <div class="menu menu-left">
  26. <?php $pre_tab = 'A';include($_SERVER['DOCUMENT_ROOT'].'/templates/file_manager/tab_menu.php'); ?>
  27. </div>
  28. <ul class="listing listing-left">
  29. <?
  30. /*if(count($pwd) > 1){
  31. echo '<li class="back">
  32. <span class="marker"></span>
  33. <span class="filename"><a href="/admin.php?page=tor/index.php&files=1&path='.$path.'/..">..</a></span><span class="mode"><span class="owner"></span><span class="size"></span><span class="date"></span><span class="time"></time>
  34. </li>';
  35. }
  36. foreach($listing['dirs'] as $dir){
  37. echo '<li class="dir">
  38. <span class="marker"></span><span class="filename"><a href="/admin.php?page=tor/index.php&files=1&path='.$path.'/'.$dir['name'].'">'.$dir['name'].'</a></span>
  39. <span class="time">'.$dir['atime_human'].'</span>
  40. <span class="date">'.$dir['adate_human'].'</span>
  41. <span class="size-unit">&nbsp;</span>
  42. <span class="size">&nbsp;</span>
  43. <span class="owner">'.$dir['owner'].'/'.$dir['group'].'</span>
  44. <span class="mode m-775">'.$dir['mode']['owner'].''.$dir['mode']['group'].''.$dir['mode']['other'].'</span>
  45. </li>';
  46. }
  47. foreach($listing['files'] as $item){
  48. echo '<li class="dir">
  49. <span class="marker"></span><span class="filename">'.$item['name'].'</span>
  50. <span class="time">'.$item['atime_human'].'</span>
  51. <span class="date">'.$item['adate_human'].'</span>
  52. <span class="size-unit">&nbsp;</span>
  53. <span class="size">'.$item['size'].'</span>
  54. <span class="owner">'.$item['owner'].'/'.$item['group'].'</span>
  55. <span class="mode m-775">'.$item['mode']['owner'].''.$item['mode']['group'].''.$item['mode']['other'].'</span>
  56. </li>';
  57. }*/ ?>
  58. </ul>
  59. </div>
  60. <div class="window">
  61. <div class="pwd">
  62. <? /* <a>var</a><a>www</a><a>html</a><a>sites</a><a>public html</a> */ ?>
  63. </div>
  64. <div class="menu menu-right">
  65. <?php $pre_tab = 'B';include($_SERVER['DOCUMENT_ROOT'].'/templates/file_manager/tab_menu.php'); ?>
  66. </div>
  67. <ul class="listing listing-right">
  68. </ul>
  69. </div>
  70. </div>
  71. <!-- div class="popups">
  72. <ul class="context-menu">
  73. <li class="download">download</li>
  74. <li class="">rename</li>
  75. <li class="">chmod</li>
  76. <li class="">chown</li>
  77. <li class="">copy</li>
  78. <li class="">cut</li>
  79. <li class="disabled">paste</li>
  80. <li class="">archive</li>
  81. <li class="delete">delete</li>
  82. </ul>
  83. <div class="confirm-box replace">
  84. <div class="message">File <span class="title">"reading.txt"</span> already exists</div>
  85. <div class="action-name"><label><span class="checkbox"></span><span>apply to next <span class="number">27</span> conflicts</span></label></div>
  86. <div class="controls">
  87. <p class="cancel">cancel</p>
  88. <p class="keep-original">keep original</p>
  89. <p class="ok">replace</p>
  90. </div>
  91. </div>
  92. <br><br>
  93. <div class="confirm-box delete">
  94. <div class="message">Are you sure you want to delete file <span class="title">"reading.txt"</span>?</div>
  95. <div class="controls">
  96. <p class="cancel">cancel</p>
  97. <p class="ok">delete</p>
  98. </div>
  99. </div>
  100. <br><br>
  101. <div class="confirm-box rename warning">
  102. <div class="message">Rename file <span class="title">"reading.txt"</span></div>
  103. <div class="warning">File <span class="title">"reading.txt"</span> already exists</div>
  104. <div class="actions">
  105. <input type="text" class="new-title" />
  106. </div>
  107. <div class="controls">
  108. <p class="cancel">cancel</p>
  109. <p class="ok">rename</p>
  110. </div>
  111. <div class="controls replace">
  112. <p class="cancel">cancel</p>
  113. <p class="ok">replace</p>
  114. </div>
  115. </div>
  116. <br><br>
  117. <div class="confirm-box archive warnin">
  118. <div class="message">Create archive</div>
  119. <div class="warning">File <span class="title">"reading.tar.gz"</span> already exists</div>
  120. <div class="actions">
  121. <span class="title">archive name</span><br>
  122. <input type="text" class="new-title" />
  123. <br>
  124. <span class="title">archive type</span><br>
  125. <select>
  126. <option value="tar">tar</option>
  127. <option value="zip">zip</option>
  128. <option value="rar">rar</option>
  129. </select>
  130. <br>
  131. <span class="title">compression level</span><br>
  132. <select>
  133. <option value="0">0</option>
  134. <option value="1">1</option>
  135. <option value="2">2</option>
  136. <option value="3">3</option>
  137. <option value="4">4</option>
  138. <option value="5">5</option>
  139. <option value="6">6</option>
  140. <option value="7">7</option>
  141. <option value="8">8</option>
  142. <option value="9">9</option>
  143. <option value="10">10</option>
  144. </select>
  145. </div>
  146. <div class="controls">
  147. <p class="cancel">cancel</p>
  148. <p class="ok ripple ripple-radial">create</p>
  149. </div>
  150. <div class="controls replace">
  151. <p class="cancel">cancel</p>
  152. <p class="ok">replace</p>
  153. </div>
  154. </div>
  155. <br><br>
  156. <div class="confirm-box owner-mode warnin-g">
  157. <div class="message">Owner - Mode</div>
  158. <div class="warning">You have no rights to change owner, group or mode</div>
  159. <div class="actions">
  160. <div class="owner-group">
  161. <div class="owner col">
  162. <span class="title">owner</span><br>
  163. <select name="owner">
  164. <option value="root">root</option>
  165. <option value="bob">Bob</option>
  166. <option value="ralph">Ralph</option>
  167. </select>
  168. </div>
  169. <div class="group col">
  170. <span class="title">group</span><br>
  171. <select name="group">
  172. <option value="root">root</option>
  173. <option value="www">www</option>
  174. <option value="apache">apache</option>
  175. </select>
  176. </div>
  177. </div>
  178. <div class="mode">
  179. <div class="col owner">
  180. <span class="title">owner</span><br>
  181. <label><span class="title">read</span> <input type="checkbox" name="owner-read" /></label><br />
  182. <label><span class="title">write</span> <input type="checkbox" name="owner-write" /></label><br />
  183. <label><span class="title">execute</span> <input type="checkbox" name="owner-execute" /></label><br />
  184. </div>
  185. <div class="col group">
  186. <span class="title">group</span><br>
  187. <label><span class="title">read</span> <input type="checkbox" name="group-read" /></label><br />
  188. <label><span class="title">write</span> <input type="checkbox" name="group-write" /></label><br />
  189. <label><span class="title">execute</span> <input type="checkbox" name="group-execute" /></label><br />
  190. </div>
  191. <div class="col other">
  192. <span class="title">other</span><br>
  193. <label><span class="title">read</span> <input type="checkbox" name="other-read" /></label><br />
  194. <label><span class="title">write</span> <input type="checkbox" name="other-write" /></label><br />
  195. <label><span class="title">execute</span> <input type="checkbox" name="other-execute" /></label><br />
  196. </div>
  197. </div>
  198. <div class="recursive">
  199. <label><span class="title">recursive</span> <input type="checkbox" name="recursive" /></label>
  200. </div>
  201. </div>
  202. <div class="controls">
  203. <p class="cancel">cancel</p>
  204. <p class="ok rippler rippler-default">set</p>
  205. </div>
  206. </div>
  207. </div--> <!-- popups -->
  208. <div class="warning-box inform hidden">
  209. <div class="close ripple"></div>
  210. <div class="message">Please Read the reading text at the reading write!</div>
  211. <div class="message-small">writing the reading text at the reading write writing the reading text at the reading write!</div>
  212. </div>
  213. <div class="warning-box hidden">
  214. <div class="close ripple"></div>
  215. <div class="message">Please Read the reading text at the reading write!</div>
  216. <div class="message-small">writing the reading text at the reading write writing the reading text at the reading write!</div>
  217. </div>
  218. <ul class="context-menu tab-a sort-order hidden">
  219. <li entity="type"><span class="name active">type</span><span class="up">&nbsp;</span></li>
  220. <li entity="size"><span class="name">size</span><span class="up">&nbsp;</span></li>
  221. <li entity="date"><span class="name">date</span><span class="up">&nbsp;</span></li>
  222. <li entity="name" class="last"><span class="name">name</span><span class="up">&nbsp;</span></li>
  223. </ul>
  224. <ul class="context-menu tab-b sort-order hidden">
  225. <li entity="type"><span class="name active">type</span><span class="up">&nbsp;</span></li>
  226. <li entity="size"><span class="name">size</span><span class="up">&nbsp;</span></li>
  227. <li entity="date"><span class="name">date</span><span class="up">&nbsp;</span></li>
  228. <li entity="name" class="last"><span class="name">name</span><span class="up">&nbsp;</span></li>
  229. </ul>
  230. <div class="fotorama" data-auto="false"></div>
  231. <!-- script src="/js/jquery-1.7.2.min.js"></script -->
  232. <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
  233. <script src="//cdnjs.cloudflare.com/ajax/libs/fotorama/4.6.2/fotorama.js"></script>
  234. <!-- script type="text/javascript" src="/js/jquery-ui-1.8.20.custom.min.js"></script -->
  235. <script type="text/javascript" src="/js/jquery-ui.min.js"></script>
  236. <script type="text/javascript" src="/js/hotkeys.js"></script>
  237. <script type="text/javascript" src="/js/app.js"></script>
  238. <script type="text/javascript"><?php echo include($_SERVER['DOCUMENT_ROOT'].'/js/i18n.js.php'); ?></script>
  239. <script type="text/javascript" src="/js/templates.js"></script>
  240. <script type="text/javascript" src="/js/floating_layer.js"></script>
  241. <script src="/js/ripple.js"></script>
  242. <!-- script src="/js/jquery.uploadify.min.js"></script -->
  243. <script src="/js/jquery.iframe-transport.js"></script>
  244. <script src="/js/jquery.fileupload.js"></script>
  245. <script src="/js/jquery.arcticmodal.js"></script>
  246. <?php if (!empty($GLOBAL_JS)): ?>
  247. <?php echo $GLOBAL_JS; ?>
  248. <?php endif; ?>
  249. <script type="text/javascript" src="/js/file_manager.js"></script>
  250. <script type="text/javascript">
  251. $(function () {
  252. 'use strict';
  253. // Change this to the location of your server-side upload handler:
  254. var show_msg = false;
  255. var acc = $('<div>');
  256. $(['A', 'B']).each(function(k, letter) {
  257. var url = '/upload/';
  258. $('#file_upload_' + letter).fileupload({
  259. add: function (e, data) {
  260. var tab = FM.getTabLetter(FM.CURRENT_TAB);
  261. var file_relocation = FM['TAB_'+tab+'_CURRENT_PATH'];
  262. $('#file_upload_' + letter).fileupload("option", "url", url + '?dir=' + file_relocation);
  263. acc = $('<div>');
  264. show_msg = false;
  265. data.submit();
  266. $('.file-upload-button-' + tab).addClass('progress');
  267. },
  268. url: url,
  269. dataType: 'json',
  270. done: function (e, data) {
  271. /*$.each(data.result.files, function (index, file) {
  272. $(acc).append($('<p/>').text(file.name + ' uploaded.'));
  273. });*/
  274. },
  275. fail: function(e, data) {
  276. $.each(data.result.files, function (index, file) {
  277. $(acc).append($('<p/>').text(file.name + ' failed to upload.'));
  278. });
  279. show_msg = true;
  280. },
  281. always: function(e, data) {
  282. if (show_msg) {
  283. clearTimeout(window.ht_fd);
  284. var info = $('.warning-box.inform').clone(true);
  285. $(info).attr('id', 'file-upload-msg');
  286. $(info).find('.message').text('Bla bla bla');
  287. $(info).find('.message-small').html(acc);
  288. $(info).find('.close').bind('click', function() {
  289. $('#file-upload-msg').remove();
  290. });
  291. $('body').append($(info).removeClass('hidden'));
  292. window.ht_fd = setTimeout(function() {
  293. $('#file-upload-msg').fadeOut();
  294. }, 3000);
  295. }
  296. var tab = FM.getTabLetter(FM.CURRENT_TAB);
  297. var box = FM['TAB_' + tab];
  298. FM.open(FM['TAB_' + tab + '_CURRENT_PATH'], box);
  299. //$('.file-upload-button-' + tab).removeClass('progress');
  300. $('.file-upload-button-' + tab).addClass('done');
  301. setTimeout(function() {
  302. $('.file-upload-button-' + tab).removeClass('progress');
  303. $('.file-upload-button-' + tab).removeClass('done');
  304. }, 2000);
  305. $('.file-upload-button-' + tab).css('background-position', '-96px 0');
  306. },
  307. progressall: function (e, data) {
  308. var progress = parseInt(data.loaded / data.total * 100, 10);
  309. var tab = FM.getTabLetter(FM.CURRENT_TAB);
  310. $('.file-upload-button-' + tab).css('background-position', '-' + (100 - progress) + 'px 0');
  311. }
  312. })
  313. .prop('disabled', !$.support.fileInput)
  314. .parent().addClass($.support.fileInput ? undefined : 'disabled');
  315. });
  316. });
  317. </script>
  318. </body>
  319. </html>