Просмотр файла modules/downloads/add_file.php

Размер файла: 4.09Kb
  1. <?php
  2. /**********************************
  3. * @package: PerfCMS *
  4. * @year: 2012 *
  5. * @author: Artas *
  6. * @link: http://perfcms.org.ua *
  7. **********************************/
  8. $locate = 'in_downloads';
  9. $dir_id = (isset($_GET['dir_id']) ? abs(intval($_GET['dir_id'])) : 0);
  10. if($dir_id != 0 && $db->query("SELECT * FROM `downloads` WHERE `id` = '$dir_id'")->rowCount() == 0 || $user['level'] < 4)
  11. {
  12. header('location: /downloads/');
  13. exit;
  14. }
  15. if(isset($_GET['act']) && $_GET['act'] == 'add')
  16. {
  17. $err = false;
  18. $name = mb_substr(input($_POST['file_name']), 0, 100);
  19. $desc = input($_POST['file_desc']);
  20. $trans_name = cyrlat(input($_POST['file_name']));
  21. $root_dir = $db->query("SELECT server_path FROM `downloads` WHERE `id` = '". $dir_id ."'")->fetchColumn();
  22. if ($_FILES['dl_file']['tmp_name'])
  23. {
  24. $file_info = pathinfo($_FILES['dl_file']['name']);
  25. $file_info['extension'] = strtolower($file_info['extension']);
  26.  
  27. if (!in_array($file_info['extension'], explode(';', $system['files_types']))) { $err = 'File extension not allowed.<br />'; }
  28. $servname = cyrlat($file_info['filename']).'.'.$file_info['extension'];
  29. if (file_exists(ROOT.'/files/downloads/'.$root_dir.'/'.$trans_name.'/'.$servname)) { $err = 'This is file exists<br />'; }
  30. if($err == false && !empty($name) && !empty($desc))
  31. {
  32. mkdir(ROOT.'/files/downloads/'.$root_dir.'/'.$trans_name);
  33. move_uploaded_file($_FILES['dl_file']['tmp_name'], ROOT.'/files/downloads/'.$root_dir.'/'.$trans_name.'/'.$servname);
  34. $db->query("INSERT INTO `downloads` SET `name` = '$name', `type` = '1', `dir_id` = '$dir_id', `server_path` = '', `description` = ''");
  35. // print_r($db->errorInfo());
  36. $db->query("INSERT INTO `downloads_files` SET `name` = '$name', `description` = '$desc', `server_name` = '$servname', `server_dir`='$trans_name', `ext` = '".$file_info['extension']."', `user_id`='". $user['id'] ."', `time` = '". time() ."', `ref_id` = '$dir_id', `from_id` = '". $db->lastInsertId() ."', `size` = '". $_FILES['dl_file']['size'] ."', `dl_times` = '0'");
  37. // print_r($db->errorInfo());
  38. if(preg_match('/png|jpg|jpeg|gif/i', $file_info['extension'])) {
  39. copy(ROOT.'/files/downloads/'.$root_dir.'/'.$trans_name.'/'.$servname, ROOT.'/tmp/'.$servname);
  40. import_lib('upload.class');
  41. $handle = new upload(ROOT.'/tmp/'.$servname);
  42. if ($handle->uploaded) {
  43. $handle->allowed = array('image/*');
  44. $handle->file_new_name_body = 'cache_'.$servname;
  45. $handle->image_convert = 'png';
  46. $handle->image_resize = true;
  47. $handle->image_x = 100;
  48. $handle->image_y = 140;
  49. $handle->process(ROOT.'/cache/downloads_images/');
  50. if ($handle->processed) {
  51. // echo 'image resized';
  52. $handle->clean();
  53. }
  54. else {
  55. echo 'error : ' . $handle->error;
  56. }
  57. }
  58. }
  59. header('location: /downloads/dir/'.$dir_id);
  60. exit;
  61. }
  62. }
  63. }
  64. $title = $lang->word('dl_add_file').' | '.$lang->word('downloads');
  65. require_once(SYS.'/view/header.php');
  66. $tpl->div('title', $lang->word('dl_add_file'));
  67. echo '<div class="menu">
  68. <form action="/downloads/add_file?act=add'.($dir_id != 0 ? '&amp;dir_id='.$dir_id : NULL).'" method="post" enctype="multipart/form-data">
  69. '.$lang->word('dl_file_name').':<br/>
  70. <input type="text" name="file_name" /><br/>
  71. <b>'. $lang->word('dl_choose_file') .'</b>:<br/>
  72. <input name="dl_file" type="file" /><br/>
  73. '.$lang->word('dl_file_desc').':<br/>
  74. <textarea name="file_desc" rows="5" cols="25"></textarea><br/>
  75. <input type="submit" value="'. $lang->word('add') .'" />
  76. </form>
  77. </div>';
  78. $tpl->div('block', ($dir_id != 0 ? img('folder.png') .' <a href="/downloads/dir/'. $dir_id.'">'.$db->query("SELECT name FROM `downloads` WHERE `id` = '". $dir_id ."'")->fetchColumn().'</a><br/>' : img('folder.png') . ' <a href="/downloads/">'. $lang->word('back') .'</a><br/>').'
  79. '. img('download.png') . ' <a href="/downloads/">'. $lang->word('downloads') .'</a><br/>'
  80. . HICO .' <a href="/">'. $lang->word('home') .'</a>');
  81. require_once(SYS.'/view/footer.php');
  82. ?>