manifest.json.php 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  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. 'description' => getParam('sys_pwa_description'),
  15. 'orientation' => 'portrait',
  16. 'start_url' => parse_url(BX_DOL_URL_ROOT, PHP_URL_PATH),
  17. 'display' => 'standalone',
  18. 'scope' => '/',
  19. 'background_color' => getParam('sys_pwa_background_color'),
  20. 'theme_color' => getParam('sys_pwa_theme_color')
  21. ];
  22. $aContent['name'] = ($sName = getParam('sys_pwa_name')) != '' ? $sName : parse_url(BX_DOL_URL_ROOT, PHP_URL_HOST);
  23. $aContent['short_name'] = ($sShortName = getParam('sys_pwa_short_name')) != '' ? $sShortName : $aContent['name'];
  24. if(isLogged())
  25. $aContent['gcm_sender_id'] = '482941778795';
  26. $aAdi = [];
  27. /*
  28. * Apple device icons
  29. */
  30. if(($iId = (int)getParam('sys_site_icon_apple')) != 0) {
  31. $oTranscoder = BxDolTranscoderImage::getObjectInstance(BX_DOL_TRANSCODER_OBJ_ICON_APPLE);
  32. $sSizes = '180x180';
  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. /*
  42. * Android device icons
  43. */
  44. if(($iId = (int)getParam('sys_site_icon_android')) != 0) {
  45. $oTranscoder = BxDolTranscoderImage::getObjectInstance(BX_DOL_TRANSCODER_OBJ_ICON_ANDROID);
  46. $sSizes = '192x192';
  47. if(($aTranscoderParams = $oTranscoder->getFilterParams('Resize')) !== false)
  48. $sSizes = $aTranscoderParams['w'] . 'x' . $aTranscoderParams['h'];
  49. $aAdi[] = [
  50. 'src' => $oTranscoder->getFileUrl($iId),
  51. 'type' => $oTranscoder->getFileMimeType($iId),
  52. 'sizes' => $sSizes
  53. ];
  54. }
  55. if(($iId = (int)getParam('sys_site_icon_android_splash')) != 0) {
  56. $oTranscoder = BxDolTranscoderImage::getObjectInstance(BX_DOL_TRANSCODER_OBJ_ICON_ANDROID_SPLASH);
  57. $sSizes = '512x512';
  58. if(($aTranscoderParams = $oTranscoder->getFilterParams('Resize')) !== false)
  59. $sSizes = $aTranscoderParams['w'] . 'x' . $aTranscoderParams['h'];
  60. $aAdi[] = [
  61. 'src' => $oTranscoder->getFileUrl($iId),
  62. 'type' => $oTranscoder->getFileMimeType($iId),
  63. 'sizes' => $sSizes
  64. ];
  65. }
  66. if(!empty($aAdi) && is_array($aAdi))
  67. $aContent['icons'] = $aAdi;
  68. header("Content-Type: application/json");
  69. header("X-Robots-Tag: none");
  70. echo json_encode($aContent);
  71. ?>