pwa.class.php 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  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 DOMAIN_CONTROL:
  9. return "manifest-control.json";
  10. break;
  11. case DOMAIN_EVENTS:
  12. return "manifest-events.json";
  13. break;
  14. case DOMAIN_CMS:
  15. return "manifest-cms.json";
  16. break;
  17. }
  18. }
  19. public static function printServiceWorker()
  20. {
  21. echo '<script>';
  22. if (PWA == 1) {
  23. echo ' if("serviceWorker" in navigator){
  24. navigator.serviceWorker.register("/' . self::$serviceWorker . '");
  25. }';
  26. } else {
  27. echo ' navigator.serviceWorker.getRegistrations().then(function(registrations) {
  28. for(let registration of registrations) {
  29. registration.unregister();
  30. }
  31. });';
  32. }
  33. echo '</script>';
  34. }
  35. public static function printManifeste()
  36. {
  37. if (PWA == 1) {
  38. echo '<link rel="manifest" href="' . self::getManifeste() . '">';
  39. }
  40. }
  41. }