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

Размер файла: 3.05Kb
  1. <?php
  2. /**********************************
  3. * @package: PerfCMS *
  4. * @year: 2012 *
  5. * @author: Artas *
  6. * @link: http://perfcms.org.ua *
  7. **********************************/
  8. $file_id = abs(intval($_GET['id']));
  9. $att_id = abs(intval($_GET['attachment_id']));
  10. if(isset($_GET['id']) && $db->query("SELECT * FROM `downloads_files` WHERE `id` = '". $file_id ."'")->rowCount() !=0 && $db->query("SELECT ext FROM `downloads_files` WHERE `id` = '". $file_id ."'")->fetchColumn() == 'jar')
  11. {
  12. $afile = $db->query("SELECT * FROM `downloads_files` WHERE `id` = '". $file_id ."'")->fetch();
  13. $root_dir = $db->query("SELECT server_path FROM `downloads` WHERE `id` = '". abs(intval($afile['ref_id'])) ."'")->fetchColumn();
  14. $jar_name = str_replace('.jar', '', $afile['server_name']);
  15. if(!file_exists(ROOT.'/cache/downloads_jad/'.$jar_name.'.jad'))
  16. {
  17. import_lib('pclzip.lib');
  18. $jar = new PclZip(ROOT.'/files/downloads/'.$root_dir.'/'.$afile['server_dir'].'/'.$afile['server_name']);
  19. $manifest = $jar->extract(PCLZIP_OPT_BY_NAME, 'META-INF/MANIFEST.MF', PCLZIP_OPT_EXTRACT_AS_STRING);
  20. $extract = $manifest[0]['content'];
  21. $created = $extract."\n".'MIDlet-Jar-Size: '. $afile['size'] ."\n".'MIDlet-Jar-URL: '. URL .'/files/downloads/'. $root_dir .'/'. $afile['server_dir'] .'/'. $afile['server_name'];
  22. file_put_contents(ROOT.'/cache/downloads_jad/'.$jar_name.'.jad', $created);
  23. header('location: /cache/downloads_jad/'.$jar_name.'.jad');
  24. exit;
  25. }
  26. else
  27. {
  28. header('location: /cache/downloads_jad/'.$jar_name.'.jad');
  29. exit;
  30. }
  31. }
  32. elseif(isset($_GET['attachment_id']) && $db->query("SELECT * FROM `downloads_archive` WHERE `id` = '". $att_id ."'")->rowCount() !=0 && $db->query("SELECT ext FROM `downloads_archive` WHERE `id` = '". $att_id ."'")->fetchColumn() == 'jar')
  33. {
  34. $afile = $db->query("SELECT * FROM `downloads_archive` WHERE `id` = '". $att_id ."'")->fetch();
  35. $ffile = $db->query("SELECT * FROM `downloads_files` WHERE `id` = '". $afile['file_id'] ."'")->fetch();
  36. $root_dir = $db->query("SELECT server_path FROM `downloads` WHERE `id` = '". abs(intval($ffile['ref_id'])) ."'")->fetchColumn();
  37. $jar_name = str_replace('.jar', '', $afile['server_name']);
  38. if(!file_exists(ROOT.'/cache/downloads_jad/'.$jar_name.'.jad'))
  39. {
  40. import_lib('pclzip.lib');
  41. $jar = new PclZip(ROOT.'/files/downloads/'.$root_dir.'/'.$ffile['server_dir'].'/'.$afile['server_name']);
  42. $manifest = $jar->extract(PCLZIP_OPT_BY_NAME, 'META-INF/MANIFEST.MF', PCLZIP_OPT_EXTRACT_AS_STRING);
  43. $extract = $manifest[0]['content'];
  44. $created = $extract."\n".'MIDlet-Jar-Size: '. $afile['size'] ."\n".'MIDlet-Jar-URL: '. URL .'/files/downloads/'. $root_dir .'/'. $ffile['server_dir'] .'/'. $afile['server_name'];
  45. file_put_contents(ROOT.'/cache/downloads_jad/'.$jar_name.'.jad', $created);
  46. header('location: /cache/downloads_jad/'.$jar_name.'.jad');
  47. exit;
  48. }
  49. else
  50. {
  51. header('location: /cache/downloads_jad/'.$jar_name.'.jad');
  52. exit;
  53. }
  54. }
  55. else
  56. {
  57. header('location: /downloads/');
  58. exit;
  59. }
  60. ?>