manifest.json.php 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  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. define('BX_MANIFEST', true);
  10. require_once('./inc/header.inc.php');
  11. $aContent = [
  12. 'name' => '',
  13. 'short_name' => '',
  14. 'start_url' => parse_url(BX_DOL_URL_ROOT, PHP_URL_PATH),
  15. 'display' => 'standalone',
  16. ];
  17. $sPattern = '/^[A-Za-z0-9\.\-]+$/';
  18. if(!empty($_GET['bx_name']) && preg_match($sPattern, $_GET['bx_name']))
  19. $aContent['name'] = $_GET['bx_name'];
  20. if(!empty($_GET['bx_short_name']) && preg_match($sPattern, $_GET['bx_short_name']))
  21. $aContent['short_name'] = $_GET['bx_short_name'];
  22. else
  23. $aContent['short_name'] = $aContent['name'];
  24. if(isLogged())
  25. $aContent['gcm_sender_id'] = '482941778795';
  26. /*
  27. * Android device icons
  28. */
  29. $aAdi = [];
  30. if(($iId = (int)getParam('sys_site_icon_android')) != 0) {
  31. $oTranscoder = BxDolTranscoderImage::getObjectInstance(BX_DOL_TRANSCODER_OBJ_ICON_ANDROID);
  32. $sSizes = '192x192';
  33. if(($aTranscoderParams = $oTranscoder->getFilterParams('Resize')) !== false)
  34. $sSizes = $aTranscoderParams['w'] . 'x' . $aTranscoderParams['h'];
  35. $aAdi[] = [
  36. 'src' => $oTranscoder->getFileUrl($iId),
  37. 'type' => $oTranscoder->getFileMimeType($iId),
  38. 'sizes' => $sSizes
  39. ];
  40. }
  41. if(($iId = (int)getParam('sys_site_icon_android_splash')) != 0) {
  42. $oTranscoder = BxDolTranscoderImage::getObjectInstance(BX_DOL_TRANSCODER_OBJ_ICON_ANDROID_SPLASH);
  43. $sSizes = '512x512';
  44. if(($aTranscoderParams = $oTranscoder->getFilterParams('Resize')) !== false)
  45. $sSizes = $aTranscoderParams['w'] . 'x' . $aTranscoderParams['h'];
  46. $aAdi[] = [
  47. 'src' => $oTranscoder->getFileUrl($iId),
  48. 'type' => $oTranscoder->getFileMimeType($iId),
  49. 'sizes' => $sSizes
  50. ];
  51. }
  52. if(!empty($aAdi) && is_array($aAdi))
  53. $aContent['icons'] = $aAdi;
  54. header("Content-Type: application/json");
  55. header("X-Robots-Tag: none");
  56. echo json_encode($aContent);
  57. ?>