1
0

storage.php 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. <?php
  2. /**
  3. * Copyright (c) UNA, Inc - https://una.io
  4. * MIT License - https://opensource.org/licenses/MIT
  5. *
  6. * @defgroup UnaCore UNA 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. $oStorage = BxDolStorage::getObjectInstance($sStorageObject);
  15. if (!$oStorage || !method_exists($oStorage, 'download')) {
  16. ob_end_clean();
  17. bx_storage_download_error_occured();
  18. exit;
  19. }
  20. $i = strrpos($sFile, '.');
  21. $sRemoteId = ($i !== false) ? substr($sFile, 0, $i) : $sFile;
  22. if (!$sRemoteId) {
  23. ob_end_clean();
  24. bx_storage_download_error_occured();
  25. exit;
  26. }
  27. //ob_end_clean();
  28. if (!$oStorage->download($sRemoteId, $sToken)) {
  29. $iError = $oStorage->getErrorCode();
  30. switch ($iError) {
  31. case BX_DOL_STORAGE_ERR_FILE_NOT_FOUND:
  32. bx_storage_download_error_occured();
  33. exit;
  34. case BX_DOL_STORAGE_ERR_PERMISSION_DENIED:
  35. bx_storage_download_error_occured('displayAccessDenied');
  36. exit;
  37. default:
  38. bx_storage_download_error_occured('displayErrorOccured');
  39. exit;
  40. }
  41. }
  42. function bx_storage_download_error_occured($sMethod = 'displayPageNotFound')
  43. {
  44. require_once(BX_DIRECTORY_PATH_INC . "design.inc.php");
  45. $oTemplate = BxDolTemplate::getInstance();
  46. $oTemplate->$sMethod ();
  47. }
  48. /** @} */