HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: /var/www/html/WPKedushasShabbos/wp-content/themes/kedushas/footer.php
<footer class="footer">
  <div class="footer-inner">
    <div class="container custom-container">
      <div class="row">
        <div class="col-2">
          <a class="logo-sec" href="<?php echo esc_url(site_url()); ?>">
            <img src="<?php echo get_template_directory_uri(); ?>/img/logo.svg" alt="Logo" class="footer-logo">
          </a>
        </div>
        <div class="col-10"></div>

      </div>
      <div class="row footer-top-sec">
        <!-- Left Section -->
        <div class="col-md-6">

          <div class="foot-title mb-2">Mekadesh Hashabos</div>
          <div class="foot-title">

            Agudath Israel Of America<br>
            42 Broadway, 14th Floor<br>
            New York, NY 10004
          </div>
        </div>
        <!-- Right Section -->
        <div class="col-md-6 text-md-end">
          <div class="cont-block">
            <a href="tel:212 7979000" class="foot-cont-link foot-title"><span class="icon phn-img"><img
                  src="<?php echo get_template_directory_uri(); ?>/img/f-phone.svg" alt=""></span> <span>
                212.797.9000</span></a>
            <a href="mailto:info@mekadeshhashabos.com" class="foot-cont-link foot-title"><span
                class="icon email-img"><img src="<?php echo get_template_directory_uri(); ?>/img/f-inbox.svg"
                  alt=""></span><span>info@mekadeshhashabos.com</span></a>
          </div>

        </div>
      </div>
      <!-- Links Section -->


    </div>
    <div class="footer-top-links">
      <div class="container custom-container">
        <div class="row ">
          <div class="col-12 footer-links text-center">
            <a href="<?php echo esc_url(site_url()); ?>" class="footer-link">Home</a>
            <a href="<?php echo esc_url(get_first_video_series_link()); ?>" class="footer-link">Video</a>
            <a href="<?php echo esc_url(home_url('/programs')); ?>" class="footer-link">Programs</a>
            <a href="<?php echo esc_url(home_url('/publication')); ?>" class="footer-link">Publications</a>
            <a href="<?php echo esc_url(home_url('/radio')); ?>" class="footer-link">Shabbos Radio</a>
            <a href="<?php echo esc_url(home_url('/contact-us')); ?>" class="footer-link">Contact</a>
            <a href="#" class="footer-link">Privacy Policy</a>
            <a href="#" class="footer-link">Terms & Conditions</a>
            <a href="#" class="footer-link">Help</a>
          </div>
        </div>
      </div>
    </div>
  </div>
  <div class="footer-bottom">
    <div class="container custom-container">
      <span>&copy;</span>
      <span id="year">0</span>
      KEDUSHAS SHABBOS | BUILT BY <a href="https://kornerstonemedia.com/" target="_blank"
        class="policy-link strong"><strong class="fw-bold">KORNERSTONE MEDIA</a>
    </div>
  </div>

</footer>
<?php
function get_first_video_series_link()
{
  // Fetch the first post in the 'video_series' post type
  $args = array(
    'post_type' => 'video_series', // Replace with your custom post type slug
    'posts_per_page' => 1, // Get only the first post
    'orderby' => 'date', // Order by the date
    'order' => 'DESC' // Ascending order
  );

  $query = new WP_Query($args);

  if ($query->have_posts()) {
    $query->the_post();
    $first_post_url = get_permalink();
    wp_reset_postdata(); // Reset the query
    return $first_post_url;
  }

  return '#'; // Default fallback if no posts exist
}


?>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script><!-- js import -->
<script src="https://unpkg.com/@lottiefiles/lottie-player@latest/dist/lottie-player.js"></script>
<!-- Slick JS -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.8.1/slick.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/parsleyjs"></script>

<!-- scripts -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap/5.3.3/js/bootstrap.bundle.min.js"
  integrity="sha512-7Pi/otdlbbCR+LnW+F7PwFcSDJOuUJB3OxtEHbg4vSMvzvJjde4Po1v4BR9Gdc9aXNUNFVUY+SK51wWT8WF0Gg=="
  crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<script src="<?php echo get_template_directory_uri(); ?>/js/header.js"></script>
<script src="<?php echo get_template_directory_uri(); ?>/js/radio_streaming.js"></script>
<script>
  document.getElementById("year").innerHTML = new Date().getFullYear();
  $('.publications-slider').slick({
    // infinite: true,
    slidesToShow: 3,
    slidesToScroll: 1,
    dots: true,
    responsive: [
      {
        breakpoint: 991,
        settings: {
          slidesToShow: 2,
        }
      },
      {
        breakpoint: 767,
        settings: {
          slidesToShow: 2,
          dots: false,
        }
      },
      {
        breakpoint: 500,
        settings: {
          slidesToShow: 1,
          dots: false,
        }
      }
    ]
  });
  <?php if (is_page('home')) { ?>
    $('.video-series-slider-lg').slick({
      slidesToShow: 1,
      slidesToScroll: 1,
      arrows: false,
      fade: true,
      asNavFor: '.video-series-slider-thumb'
    });
    $('.video-series-slider-thumb').slick({
      slidesToShow: 6,
      slidesToScroll: 1,
      asNavFor: '.video-series-slider-lg',
      dots: false,
      butttons: true,
      focusOnSelect: true,
      responsive: [
        {
          breakpoint: 1679,
          settings: {
            slidesToShow: 5
          }
        },
        {
          breakpoint: 1400,
          settings: {
            slidesToShow: 4
          }
        },
        {
          breakpoint: 1199,
          settings: {
            slidesToShow: 3
          }
        },
        {
          breakpoint: 991,
          settings: {
            slidesToShow: 2
          }
        },
        {
          breakpoint: 580,
          settings: {
            slidesToShow: 3,
            slidesToScroll: 1
          }
        },
        {
          breakpoint: 370,
          settings: {
            slidesToShow: 2,
            slidesToScroll: 1
          }
        },
        // You can unslick at a given breakpoint now by adding:
        // settings: "unslick"
        // instead of a settings object
      ]
    });

  <?php }
  if (!is_page('home')) { ?>
    $('.video-series-slider-lg').slick({
      slidesToShow: 1,
      slidesToScroll: 1,
      arrows: false,
      fade: true,
      asNavFor: '.video-series-slider-thumb'
    });
    $('.video-series-slider-thumb').slick({
      slidesToShow: 4,
      slidesToScroll: 1,
      asNavFor: '.video-series-slider-lg',
      dots: false,
      arrows: true,
      focusOnSelect: true,
      autoplay: false,
      responsive: [
        {
          breakpoint: 1199,
          settings: {
            slidesToShow: 3
          }
        },
        {
          breakpoint: 991,
          settings: {
            slidesToShow: 3,
            autoplay: true,
          }
        },
        {
          breakpoint: 767,
          settings: {
            slidesToShow: 2,
            autoplay: true,
          }
        }

      ]
    });
  <?php } ?>

  //----------------------Inner popup------------------------
  $(document).ready(function () {
    let sliderInitialized = false;

    function initializeSlider() {
      if (window.innerWidth < 768) {
        if (!sliderInitialized) {
          $('.tabSlider').slick({
            dots: false,
            infinite: true,
            arrows: true,
            speed: 300,
            slidesToShow: 1,
            adaptiveHeight: true,
            responsive: [
              {
                breakpoint: 767,
                settings: {
                  slidesToShow: 2,
                  slidesToScroll: 1
                }
              },
              {
                breakpoint: 580,
                settings: {
                  slidesToShow: 1,
                  slidesToScroll: 1
                }
              }]
          });
          sliderInitialized = true;
        }
      } else {
        if (sliderInitialized) {
          $('.tabSlider').slick('unslick'); // Destroy slider
          sliderInitialized = false;
        }
      }
    }

    // Initialize slider on load and resize
    initializeSlider();
    $(window).on('resize', function () {
      initializeSlider();
    });
    <?php if (!is_page('home')) { ?>
      $('.img-slider').slick({
        slidesToShow: 1,
        slidesToScroll: 1,
        infinite: true,
        autoplay: true,
        autoplaySpeed: 2000,

        arrows: true,
        prevArrow: '<button class="slick-prev slick-arrow"><img src="<?php echo get_template_directory_uri(); ?>/img/rt-arrow.svg"></button>',
        nextArrow: '<button class="slick-next slick-arrow"><img src="<?php echo get_template_directory_uri(); ?>/img/rt-arrow.svg">Next</button>',


      });
    <?php } ?>
  });



  document.addEventListener('DOMContentLoaded', function () {
    const modal = document.getElementById('customModal');
    const modalTitle = modal.querySelector('.modal-title');
    const modalSubtitle = modal.querySelector('.subtitle');
    const modalContent = modal.querySelector('.content');
    const imgSlider = modal.querySelector('.img-slider');
    const downloadButton = modal.querySelector('.btn-primary');

    document.querySelectorAll('.lg-play-btn').forEach(button => {
      button.addEventListener('click', function () {
        // Get data attributes from the clicked button
        const title = this.getAttribute('data-title');
        const subtitle = this.getAttribute('data-subtitle');
        let thumbnail = this.getAttribute('data-thumbnail');
        let pdf = this.getAttribute('data-pdf');
        let description = this.getAttribute('data-description');

        try {
          thumbnail = JSON.parse(thumbnail);
          pdf = JSON.parse(pdf);
          description = JSON.parse(description);
        } catch (error) {
          console.error("Error parsing JSON data:", error);
        }

        // Update modal content
        modalTitle.textContent = title;
        modalSubtitle.textContent = subtitle;
        modalContent.textContent = description;

        // Clear existing images
        imgSlider.innerHTML = '';

        // Add new image to the slider
        if (thumbnail) {
          const imgDiv = document.createElement('div');
          imgDiv.classList.add('pdf-image');
          imgDiv.innerHTML = `<img src="${thumbnail}" alt="Thumbnail">`;
          imgSlider.appendChild(imgDiv);
        }

        // Update download button
        if (pdf) {
          downloadButton.innerHTML = `
                    <span class="ico">
                        <img src="/wp-content/themes/kedushas/img/pdf.svg" alt="PDF">
                    </span> 
                    <span><a href="${pdf}" target="_blank">Download PDF</a></span>
                `;
          downloadButton.setAttribute('href', pdf);
          downloadButton.setAttribute('download', `${title || 'document'}.pdf`);
        } else {
          downloadButton.innerHTML = 'PDF Not Available';
          downloadButton.removeAttribute('href');
          downloadButton.removeAttribute('download');
        }
      });
    });
  });

  $('.tab-btn').on('shown.bs.tab', function (e) {
    $('.video-series-slider-lg').slick('setPosition');
    $('.video-series-slider-thumb').slick('setPosition');
  });


  <?php if (!is_page('home')) { ?>
    $('.tabSlider').slick({
      slidesToShow: 5,
      slidesToScroll: 1,
      dots: false,
      arrows: true,
      autoplay: false,
      infinite: false,
      responsive: [
        {
          breakpoint: 1400,
          settings: {
            slidesToShow: 4
          }
        },
        {
          breakpoint: 1199,
          settings: {
            slidesToShow: 3
          }
        },
        {
          breakpoint: 991,
          settings: {
            slidesToShow: 2
          }
        },
        {
          breakpoint: 767,
          settings: {
            slidesToShow: 1,
            variableWidth: true
          }
        },
        {
          breakpoint: 580,
          settings: {
            slidesToShow: 1,
            variableWidth: false,
          }
        }

      ]
    });
  <?php } ?>

  function copyToClipboard(text) {
    navigator.clipboard.writeText(text).then(function () {
      showPopupMessage('Link copied to clipboard');
    }, function (err) {
      console.error('Could not copy text: ', err);
    });
  }
  function showPopupMessage(message) {
    const popupMessageElement = document.getElementById('popup-message');
    const popupContentElement = popupMessageElement.querySelector('.popup-content');
    popupContentElement.textContent = message;
    popupMessageElement.style.display = 'flex';

    setTimeout(function () {
      popupMessageElement.style.display = 'none';
    }, 3000); // Hide after 5 seconds
  }


  document.querySelectorAll('input[inputmode="numeric"]').forEach(function (el) {
    el.addEventListener('input', function () {
      this.value = this.value.replace(/\D/g, '');
    });
  });

  // Format input to MM/YY (auto-add slash, allow only digits & '/')
  // Auto-format MM/YY input and allow only digits and '/'
  function formatExpiry(input) {
    let value = input.value.replace(/[^\d]/g, ''); // Remove non-digits
    if (value.length >= 3) {
      value = value.slice(0, 2) + '/' + value.slice(2, 4);
    }
    input.value = value.slice(0, 5); // Limit to MM/YY
  }

  // Custom Parsley validator: Expiry must not be in the past
  window.Parsley.addValidator('expiryNotpast', {
    validateString: function (value) {
      const match = value.match(/^(0[1-9]|1[0-2])\/(\d{2})$/);
      if (!match) return false;

      const enteredMonth = parseInt(match[1], 10);
      const enteredYear = parseInt('20' + match[2], 10);

      const today = new Date();
      const currentMonth = today.getMonth() + 1; // Jan is 0
      const currentYear = today.getFullYear();

      // Expired if year is in the past
      if (enteredYear < currentYear) {
        return false;
      }

      // Expired if year is current but month is past
      if (enteredYear === currentYear && enteredMonth < currentMonth) {
        return false;
      }

      return true; // Valid future expiry
    },
    messages: {
      en: 'Expiry date must not be in the past'
    }
  });

  document.addEventListener('DOMContentLoaded', function () {
    const tabPanes = document.querySelectorAll('.tab-pane');

    // Initially hide all panes except the first
    tabPanes.forEach((pane, index) => {
      if (index !== 0) {
        pane.classList.remove('active', 'show');
      } else {
        pane.classList.add('active', 'show');
      }
    });

    // On tab switch, show only the target pane
    document.querySelectorAll('[data-bs-toggle="tab"]').forEach(tab => {
      tab.addEventListener('shown.bs.tab', function () {
        const targetId = this.getAttribute('data-bs-target');
        const target = document.querySelector(targetId);

        // Hide all tab panes
        tabPanes.forEach(pane => {
          pane.classList.remove('active', 'show');
        });

        // Show selected pane
        if (target) {
          target.classList.add('active', 'show');
          target.scrollIntoView({ behavior: 'smooth' });
        }
      });
    });
  });
  document.addEventListener('DOMContentLoaded', function () {
    const conditionalFields = document.querySelectorAll('.conditional-field');
    const shiurNameInput = document.querySelector('input[name="shiurName"]');
    const maggidShiurInput = document.querySelector('input[name="maggidShiur"]');
    const radios = document.querySelectorAll('input[name="learningMethod"]');

    function toggleConditionalFields(show) {
      conditionalFields.forEach(field => {
        field.style.display = show ? 'block' : 'none';
      });

      if (show) {
        shiurNameInput.setAttribute('required', 'required');
        shiurNameInput.setAttribute('data-parsley-required-message', 'Shiur name is required.');
        maggidShiurInput.setAttribute('required', 'required');
        maggidShiurInput.setAttribute('data-parsley-required-message', 'Maggid shiur is required.');
      } else {
        shiurNameInput.removeAttribute('required');
        maggidShiurInput.removeAttribute('required');
      }
    }

    toggleConditionalFields(false); // hide by default

    radios.forEach(radio => {
      radio.addEventListener('change', function () {
        if (this.value === 'shiur' || this.value === 'virtual') {
          toggleConditionalFields(true);
        } else {
          toggleConditionalFields(false);
        }
      });
    });
  });

  // window.addEventListener('load', function() {
  //   if (window.innerWidth <= 768) {
  //     document.querySelectorAll('input[placeholder], textarea[placeholder]').forEach(function(el) {
  //       el.removeAttribute('placeholder');
  //     });
  //   }
  // });

  $('.inspirational-videos-slider').slick({
    // infinite: true,
    slidesToShow: 4,
    slidesToScroll: 1,
    dots: false,
    responsive: [
      {
        breakpoint: 1400,
        settings: {
          slidesToShow: 3,
          slidesToScroll: 1,
        }
      },
      {
        breakpoint: 991,
        settings: {
          slidesToShow: 2,
          slidesToScroll: 1
        }
      },
      {
        breakpoint: 767,
        settings: {
          slidesToShow: 1,
          slidesToScroll: 1
        }
      },
      {
        breakpoint: 579,
        settings: {
          slidesToShow: 1,
          slidesToScroll: 1,
          arrows: false,
        }
      }
    ]
  });
</script>
<style>
  @media (max-width: 768px) {
    input::placeholder {
      color: transparent !important;
    }
  }

  .popup-message {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: rgba(0, 0, 0, 0.5);
    /* Semi-transparent background */
    z-index: 1000;
  }

  .popup-content {
    padding: 20px;
    background-color: white;
    /* White background */
    border-radius: 5px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
    font-size: 16px;
    text-align: center;
  }

  /* Style Parsley validation error messages */
  .parsley-errors-list {
    color: red !important;
    /* Make error messages red */
    font-size: 14px;
    /* Adjust font size */
    margin-top: 5px;
    /* Add some space */
    list-style: none;
    /* Remove bullet points */
    padding-left: 0;
    /* Remove padding */
  }

  /* Highlight input fields with errors */
  input.parsley-error,
  textarea.parsley-error {
    border: 2px solid red !important;
    /* Add a red border */
    background-color: #ffe6e6;
    /* Light red background */
  }

  select.parsley-error,
  textarea.parsley-error {
    border: 2px solid red !important;
    /* Add a red border */
    background-color: #ffe6e6;
    /* Light red background */
  }

  input.form-control.parsley-error {
    margin-bottom: 0px;
  }

  select.form-select.custom-select-arrow.parsley-error {
    margin-bottom: 0px;
  }

  select.form-select.parsley-error {
    margin-bottom: 0px;
  }
</style>

<script>

</script>

<?php wp_footer(); ?>
</body>

</html>