Просмотр файла fileman.php

Размер файла: 15.03Kb
  1. <?php
  2.  
  3. define('_IN_JOHNCMS', 1);
  4.  
  5. $headmod = 'lib';
  6. $textl = 'Библиотека';
  7. require_once ("../incfiles/core.php");
  8. require_once ("./inc/conf.php");
  9. require_once ("../incfiles/head.php");
  10. if($rights == 5 || $rights >= 6)
  11. {
  12. echo '<a href="admin.php?">В админку</a><br/>';
  13. if(empty($id))
  14. {
  15. echo '<div class="phdr">Файл менеджер</div>';
  16. }else{
  17. ////////////////////////////////////////////////////////////
  18. // Получаем структуру каталогов //
  19. ////////////////////////////////////////////////////////////
  20. $tree = array();
  21. $dirid = $id;
  22. while ($dirid != '0' && $dirid != "") {
  23. $req = mysql_query("SELECT `name`,`fid` FROM `library` WHERE `type` = 'dir' and `id` = '" . $dirid . "' LIMIT 1");
  24. $res = mysql_fetch_array($req);
  25. $tree[] = '<a href="fileman.php?id=' . $dirid . '">' . $res['name'] . '</a>';
  26. $dirid = $res['fid'];
  27. }
  28. krsort($tree);
  29. $cdir = array_pop($tree);
  30. echo '<div class="phdr"><a href="index.php">В библиотеку</a> | <a href="fileman.php">Файл менеджер</a> | ';
  31. foreach ($tree as $value) {
  32. echo $value . ' | ';
  33. }
  34. echo '<b>' . strip_tags($cdir) . '</b></div>';
  35. }
  36.  
  37. $totaldir = mysql_result(mysql_query("select COUNT(*) from `library` where `type` = 'dir' and `fid` = '".$id."'"),0);
  38. $totalfile = mysql_result(mysql_query("select COUNT(*) from `library` where `type` = 'file' and `fid` = '".$id."'"),0);
  39.  
  40. $total = $totaldir + $totalfile;
  41. if($total > 0)
  42. {
  43. $sql = mysql_query("select * from `library` where `fid` = '".$id."' order by `type` ASC , `name` ASC , `file` ASC LIMIT ".$start.",".$kol_file."");
  44. while($mas = mysql_fetch_array($sql))
  45. {
  46. if($totaldir > 0 && $mas['type'] == 'dir')
  47. {
  48. echo '<div class="list1">';
  49. echo '&raquo;<img src="./img/'.($mas['type2'] == "YES" ? 'folder_user' : 'folder').'.png" alt="" /><a href="fileman.php?id='.$mas['id'].'">'.htmlentities($mas['name'],ENT_QUOTES,'utf-8').'</a>';
  50. $count = 0;
  51. $countnew = 0;
  52. $count = mysql_result(mysql_query("select COUNT(*) from `library` where `type` = 'file' and `path` LIKE '".$mas['path']."%'"),0);
  53. $countnew = mysql_result(mysql_query("select COUNT(*) from `library` where `type` = 'file' and `path` LIKE '".$mas['path']."%' and `time` > '".($realtime -($new_fil * 24 * 3600) )."'"),0);
  54. echo '('.intval($count);
  55. if($countnew !== "0"){ echo '/<span class="red">+'.intval($countnew).'</span>)';}else{echo ')';}
  56. if(!empty($mas['opis']))
  57. {
  58. echo '<div class="sub">'.htmlentities($mas['opis'],ENT_QUOTES,'utf-8').'</div>';
  59. }
  60. echo '</div>';
  61. }
  62. if($totalfile > 0 && $mas['type'] == 'file')
  63. {
  64. echo '<div class="list2">';
  65. echo '&deg;<img src="./img/page_white_text.png" alt="" />'.htmlentities($mas['name'],ENT_QUOTES,'utf-8');
  66. $c = mysql_result(mysql_query("select COUNT(*) from `lib_file` where `fid` = '".$mas['id']."'"),0);
  67. if($c > 0)
  68. {
  69. $sql1 = mysql_query("select * from `lib_file` where `fid` = '".$mas['id']."'");
  70. echo '<br/>';
  71. echo '<div class="quote">Прикрепленные файлы:<br/>';
  72. while($res = mysql_fetch_array($sql1))
  73. {
  74. echo '<a href="file.php?act=look&amp;id='.$res['id'].'">'.htmlentities($res['name'],ENT_QUOTES,'utf-8').'</a>, ';
  75. }
  76. echo '</div>';
  77. }
  78. if(!empty($mas['opis']))
  79. {
  80. echo '<div class="sub">'.htmlentities($mas['opis'],ENT_QUOTES,'utf-8').'</div>';
  81. }else{echo '<br/>';}
  82. echo '<ul><small>';
  83. echo '<li><a href="file.php?act=editfile&amp;id='.$mas['id'].'">Редактировать</a></li>';
  84. echo '<li><a href="file.php?act=delfile&amp;id='.$mas['id'].'">Удалить</a></li>';
  85. echo '<li><a href="file.php?act=perfile&amp;id='.$mas['id'].'">Переместить</a></li>';
  86. echo '<li><a href="file.php?act=precfile&amp;id='.$mas['id'].'">Прекрипить сюда файл</a></li>';
  87. if($c > 0){
  88. echo '<li><a href="file.php?act=editprec&amp;id='.$mas['id'].'">Управление Прек. файлами</a></li>';}
  89. echo '</small></ul>';
  90. echo '</div>';
  91. }
  92. }
  93. }else{
  94. echo '<strong>В даной категории статей нету!!!</strong><br/>';
  95. }
  96. if ($total > $kmess) {
  97. echo '<p>' . pagenav('fileman.php?id=' . $id . '&amp;', $start, $total, $kol_file) . '</p>';
  98. }
  99. echo '<hr/><div class="func">';
  100. echo '<ul>';
  101. echo '<li><a href="fileman.php?act=newdir&amp;id='.$id.'">Создать каталог</a></li>';
  102. if($act == 'newdir')
  103. {
  104. if(empty($_POST['submit']))
  105. {
  106. echo '<form method="post" action="fileman.php?act=newdir&amp;id='.$id.'">';
  107. echo '<div class="menu">';
  108. echo 'Имя каталога:<br/><input name="dirname"/><br/>';
  109. echo 'Описание каталога:<br/><textarea name="diropis"></textarea><br/>';
  110. echo 'Разрешить добовлять статьи:<br/><select name="type">';
  111. echo '<option value="YES">Да</option><option value="NO">Нет</option>';
  112. echo '</select>';
  113. echo '</div>';
  114. echo '<input value="Создать" type="submit" name="submit"/></form>';
  115. }else{
  116. $dirname = trim($_POST['dirname']);
  117. $diropis = trim($_POST['diropis']);
  118. $type2 = trim($_POST['type']);
  119. $co = mysql_result(mysql_query("select COUNT(*) from `library` where `name` = '".$dirname."' and `type` = 'dir'"),0);
  120. $arr = mysql_query("select `path` from `library` where `id` = '".$id."' and `type` = 'dir'");
  121. $sql = mysql_fetch_array($arr);
  122. $path = $sql['path'].'/'.trans2($dirname);
  123. if($co == "0" && !empty($dirname))
  124. {
  125. if(mysql_query("insert into `library` set
  126. `fid` = '".$id."',
  127. `path` = '".$path."',
  128. `type` = 'dir',
  129. `type2` = '".$type2."',
  130. `name` = '".$dirname."',
  131. `opis` = '".$diropis."',
  132. `ip` = '".$ipp."',
  133. `soft` = '".$agn."',
  134. `time` = '".$realtime."';"))
  135. {
  136. echo 'Каталог успешно создан<br/> В каталог :<a href="fileman.php?id='.mysql_insert_id().'">'.$dirname.'</a><br/>';
  137. }else{
  138. echo 'ОШИБКА!!!<br/><a href="fileman.php?id='.$id.'">Назад</a><br/>';
  139. }
  140. }else{
  141. echo 'ОШИБКА!!! Такой каталог уже существует<br/><a href="'.check($_SERVER['HTTP_REFERER']).'">Назад</a><br/>';
  142. }
  143. }
  144. }
  145. if(!empty($_GET['id']))
  146. {
  147. echo '<li><a href="fileman.php?act=deldir&amp;id='.$id.'">Удалить каталог</a></li>';
  148. if($act == 'deldir')
  149. {
  150. $aa = mysql_fetch_array(mysql_query("select `path` from `library` where `id` = '".$id."'"));
  151. $sql = mysql_query("select * from `library` where `path` LIKE '".$aa['path']."%'");
  152. $res_id = array();
  153. $count_dir = 0;
  154. $count_file = 0;
  155. while($re = mysql_fetch_array($sql))
  156. {
  157. $res_id[]=$re['id'];
  158. if($re['type'] == 'dir')
  159. {
  160. ++$count_dir;
  161. }
  162. if($re['type'] == 'file')
  163. {
  164. ++$count_file;
  165. }
  166. }
  167. echo 'Вы собираетесь удалить <strong>'.$count_dir.'</strong> Каталогов и <strong>'.$count_file.'</strong> Статей<hr/>';
  168. echo 'Если вы хотите удалить их нажмите <a href="fileman.php?act=deldir&amp;id='.$id.'&amp;yes"><strong>ДА</strong></a> или отмените <a href="fileman.php?id='.$id.'"><strong>НЕТ</strong></a>';
  169. if(isset($_GET['yes']))
  170. {
  171. foreach($res_id as $v)
  172. {
  173. mysql_query("DELETE FROM `library` WHERE `id` = '".$v."'");
  174. }
  175. header("Location: fileman.php?");
  176. }
  177. }
  178. echo '<li><a href="fileman.php?act=ren&amp;id='.$id.'">Редактировать каталог</a></li>';
  179. if($act == 'ren')
  180. {
  181. if(empty($_POST['submit']))
  182. {
  183. $sql = mysql_fetch_array(mysql_query("select `name`,`opis` from `library` where `id` = '".$id."' LIMIT 1"));
  184. echo '<form method="post" action="fileman.php?act=ren&amp;id='.$id.'">';
  185. echo 'Новое имя каталога:<br/><input name="newname" value="'.$sql['name'].'"/><br/>';
  186. echo 'Новое описание каталога:<br/><textarea name="newopis">'.$sql['opis'].'</textarea><br/>';
  187. echo 'Разрешить добовлять статьи:<br/><select name="type">';
  188. echo '<option value="YES">Да</option><option value="NO">Нет</option>';
  189. echo '</select><br/>';
  190. echo '<input value="Изменить" type="submit" name="submit"/></form>';
  191. }else{
  192. if(!empty($_POST['newname']))
  193. {
  194. $newname = trim($_POST['newname']);
  195. $newopis = trim($_POST['newopis']);
  196. $type2 = trim($_POST['type']);
  197. $sql = mysql_fetch_array(mysql_query("select `path` from `library` where `id` = '".$id."'"));
  198. $path = $sql['path'];
  199. $exp = explode("/",$path);
  200. unset($exp[count($exp)-1]);
  201. $path = join("/",$exp);
  202. if(mysql_query("update `library` set `name` = '".$newname."', `path` = '".$path.'/'.trans2($newname)."', `opis` = '".$newopis."', `type2` = '".$type2."' where `id` = '".$id."'"))
  203. {
  204. echo 'Каталог успешно переименован<br/>В каталог:<a href="fileman.php?id='.$id.'">'.$newname.'</a><br/>';
  205. }else{
  206. echo 'ОШИБКА !!!<br/><a href="fileman.php?id='.$id.'">Назад</a>';
  207. }
  208. }else{
  209. echo 'ОШИБКА !!! Забыли ввести имя каталога<br/><a href="fileman.php?id='.$id.'">Назад</a>';
  210. }
  211. }
  212. }
  213. $sq = mysql_fetch_array(mysql_query("select `type2` from `library` where `id` = '".$id."' LIMIT 1"));
  214. echo '<li><a href="file.php?act=upload&amp;id='.$id.'">Выгрузить статью</a></li>';
  215. echo '<li><a href="file.php?act=newstat&amp;id='.$id.'">Написать статью</a></li>';
  216. echo '<li><a href="fileman.php?act=mas&amp;id='.$id.'">Массово выгрузить стаьи</a></li>';
  217. if($act == 'mas')
  218. {
  219. if(empty($_POST['submit']))
  220. {
  221. echo '<form method="POST" action="fileman.php?act=mas&amp;id='.$id.'"><p>';
  222. $glob_do = glob('file/mas/*',GLOB_ONLYDIR);
  223. if(count($glob_do) > 0)
  224. {
  225. echo '<div class="menu">Выберете каталог из которого<br/> будем импортировать статьи<br/><span class="red">Имя каталога должно быть обязательно написано латинскими буквами</span>:<br/><select name="dirdo">';
  226. foreach($glob_do as $v)
  227. {
  228. $v = str_replace('file/mas/','',$v);
  229. echo '<option value="'.$v.'">'.$v.'</option>';
  230. }
  231. echo '</select></div>';
  232. }else{
  233. echo '<div class="rmenu">Нечего добовлять</div>';
  234. }
  235. echo '<input value="Добавить" name="submit" type="submit"/></p></form>';
  236. }else{
  237. if(!empty($_POST['dirdo']))
  238. {
  239. $put = 'file/mas/'.trim($_POST['dirdo']).'/*.{txt,dat}';
  240. $glob = glob($put,GLOB_BRACE);
  241. if(count($glob) > 0)
  242. {
  243. foreach($glob as $v)
  244. {
  245. $d = str_replace('file/mas/'.trim($_POST['dirdo']).'/','',$v);
  246. $name = iconv('windows-1251','UTF-8',$d);
  247. $name1 = str_replace('.txt','',$name);
  248. $txt = file_get_contents($v);
  249. if (mb_check_encoding($txt, 'UTF-8')) {
  250. }
  251. elseif (mb_check_encoding($txt, 'windows-1251')) {
  252. $txt = iconv("windows-1251", "UTF-8", $txt);
  253. }
  254. elseif (mb_check_encoding($txt, 'KOI8-R')) {
  255. $txt = iconv("KOI8-R", "UTF-8", $txt);
  256. }
  257. $sql = mysql_fetch_array(mysql_query("select `path` from `library` where `id` = '".$id."' and `type` = 'dir' LIMIT 1"));
  258. $path = $sql['path'];
  259. $file = $name;
  260. $moder = ($rights == 5 || $rights >= 6 ? '1' : "0");
  261. mysql_query("insert into `library` set
  262. `id` = '',
  263. `fid` = '".$id."',
  264. `path` = '".$path."',
  265. `file` = '".$file."',
  266. `type` = 'file',
  267. `name` = '".$name1."',
  268. `opis` = '',
  269. `text` = '".mysql_real_escape_string($txt)."',
  270. `ip` = '".$ipp."',
  271. `soft` = '".$agn."',
  272. `time` = '".$realtime."',
  273. `count` = '0',
  274. `id_avtor` = '".$user_id."',
  275. `rating` = '0',
  276. `moder` = '".$moder."';");
  277. #@unlink($v);
  278. }
  279. echo 'Статьи успешно добавленны<br/><a href="fileman.php?id='.$id.'">Назад</a><br/>';
  280. }else{
  281. echo 'Нет статей для добовления<br/>';
  282. }
  283. }else{
  284. echo 'Не выбрана категория для импорта<br/>';
  285. }
  286. }
  287. }
  288. }
  289. echo '</ul>';
  290.  
  291. echo '</div>';
  292. }
  293.  
  294.  
  295. require_once ("../incfiles/end.php");
  296. ?>