1
0

storage.php 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. <?php
  2. /**
  3. * Copyright (c) BoonEx Pty Limited - http://www.boonex.com/
  4. * CC-BY License - http://creativecommons.org/licenses/by/3.0/
  5. *
  6. * @defgroup TridentCore Trident Core
  7. * @{
  8. */
  9. //ob_start();
  10. require_once('./inc/header.inc.php');
  11. $sStorageObject = bx_process_input(bx_get('o'));
  12. $sFile = bx_process_input(bx_get('f'));
  13. $sToken = bx_process_input(bx_get('t'));
  14. bx_import('BxDolStorage');
  15. $oStorage = BxDolStorage::getObjectInstance($sStorageObject);
  16. if (!$oStorage || !method_exists($oStorage, 'download')) {
  17. ob_end_clean();
  18. bx_storage_download_error_occured();
  19. exit;
  20. }
  21. $i = strrpos($sFile, '.');
  22. $sRemoteId = ($i !== false) ? substr($sFile, 0, $i) : $sFile;
  23. if (!$sRemoteId) {
  24. ob_end_clean();
  25. bx_storage_download_error_occured();
  26. exit;
  27. }
  28. //ob_end_clean();
  29. if (!$oStorage->download($sRemoteId, $sToken)) {
  30. $iError = $oStorage->getErrorCode();
  31. switch ($iError) {
  32. case BX_DOL_STORAGE_ERR_FILE_NOT_FOUND:
  33. bx_storage_download_error_occured();
  34. exit;
  35. case BX_DOL_STORAGE_ERR_PERMISSION_DENIED:
  36. bx_storage_download_error_occured('displayAccessDenied');
  37. exit;
  38. default:
  39. bx_storage_download_error_occured('displayErrorOccured');
  40. exit;
  41. }
  42. }
  43. function bx_storage_download_error_occured($sMethod = 'displayPageNotFound')
  44. {
  45. require_once(BX_DIRECTORY_PATH_INC . "design.inc.php");
  46. bx_import('BxDolLanguages');
  47. bx_import('BxDolTemplate');
  48. $oTemplate = BxDolTemplate::getInstance();
  49. $oTemplate->$sMethod ();
  50. }
  51. /** @} */