2
0

pwa.class.php 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. <?php
  2. class pwa
  3. {
  4. private static $serviceWorker = "serviceWorker.js";
  5. private static function getManifeste()
  6. {
  7. switch ($_SERVER['HTTP_HOST']) {
  8. case URL_PROD_CONTROL:
  9. return "manifest-control.json";
  10. break;
  11. case URL_PROD_EVENTS:
  12. return "manifest-events.json";
  13. break;
  14. case URL_PROD_CMS:
  15. return "manifest-cms.json";
  16. break;
  17. case URL_DEV_CONTROL:
  18. return "manifest-control-dev.json";
  19. break;
  20. case URL_DEV_EVENTS:
  21. return "manifest-events-dev.json";
  22. break;
  23. case URL_DEV_CMS:
  24. return "manifest-cms-dev.json";
  25. break;
  26. }
  27. }
  28. public static function printServiceWorker()
  29. {
  30. echo '<script>';
  31. if (PWA == 1) {
  32. echo ' if("serviceWorker" in navigator){
  33. navigator.serviceWorker.register("/' . self::$serviceWorker . '");
  34. }';
  35. } else {
  36. echo ' navigator.serviceWorker.getRegistrations().then(function(registrations) {
  37. for(let registration of registrations) {
  38. registration.unregister();
  39. }
  40. });';
  41. }
  42. echo '</script>';
  43. }
  44. public static function printManifeste()
  45. {
  46. if (PWA == 1) {
  47. echo '<link rel="manifest" href="' . self::getManifeste() . '">';
  48. }
  49. }
  50. }