image_transcoder.php 1.4 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 DolphinCore Dolphin Core
  7. * @{
  8. */
  9. if (isset($_GET['devicePixelRatio'])) {
  10. $sDpr = $_GET['devicePixelRatio'];
  11. if ('' . ceil(intval($sDpr)) !== $sDpr)
  12. $sDpr = '1';
  13. setcookie('devicePixelRatio', $sDpr, time()+60*60*24*365);
  14. exit();
  15. }
  16. ob_start();
  17. require_once('./inc/header.inc.php');
  18. $sTranscoderObject = bx_process_input(bx_get('o'));
  19. $sHandler = bx_process_input(bx_get('h'));
  20. bx_import('BxDolImageTranscoder');
  21. $oTranscoder = BxDolImageTranscoder::getObjectInstance($sTranscoderObject);
  22. if (!$oTranscoder) {
  23. ob_end_clean();
  24. bx_transcoder_error_occured();
  25. exit;
  26. }
  27. ob_end_clean();
  28. if (!$oTranscoder->isImageReady($sHandler) && !$oTranscoder->transcode ($sHandler)) {
  29. bx_transcoder_error_occured();
  30. exit;
  31. }
  32. $sImageUrl = $oTranscoder->getImageUrl($sHandler);
  33. if (!$sImageUrl) {
  34. bx_transcoder_error_occured();
  35. exit;
  36. }
  37. header('HTTP/1.1 301 Moved Permanently');
  38. header('Location: ' . $sImageUrl);
  39. exit;
  40. function bx_transcoder_error_occured($sMethod = 'displayPageNotFound') {
  41. require_once(BX_DIRECTORY_PATH_INC . "params.inc.php");
  42. require_once(BX_DIRECTORY_PATH_INC . "design.inc.php");
  43. bx_import('BxDolLanguages');
  44. bx_import('BxDolTemplate');
  45. $oTemplate = BxDolTemplate::getInstance();
  46. $oTemplate->$sMethod ();
  47. }
  48. /** @} */