2
0

pwa.class.php 1.4 KB

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