Sindbad~EG File Manager

Current Path : /home/u625735752/domains/floralwhite-woodpecker-723030.hostingersite.com/public_html/1.9/
Upload File :
Current File : /home/u625735752/domains/floralwhite-woodpecker-723030.hostingersite.com/public_html/1.9/footer.php

<footer class="motionflow-footer py-5">
  <div class="container">

<div class="collab-section d-none">
  <div class="collab-box" data-aos="fade-up" data-aos-duration="1000">
    <!--div class="row justify-content-between align-items-center flex-wrap-reverse">
      <div class="col-lg-6 mb-4">
        <div class=" p-5">
          <h2 class="collab-title">Ready to Create?</h2>
          <p class="collab-subtitle">
            Let's turn your ideas into stunning visual realities. Reach out today and begin your motion journey!
          </p>
        </div>
      </div>

      <div class="col-lg-4 mb-4">
        <div class="contact-box d-flex align-items-center justify-content-center p-4">
          <a href="#" class="btn btn-gradient">Get a Quote</a>
        </div>
      </div>
    </div-->
	
	
	
                <div class="mixcloud-embed-wrapper">
		<?php
$domain = $_SERVER['HTTP_HOST'];
?>

<iframe
    src="https://player.twitch.tv/?channel=jamonculture&parent=<?= $domain ?>"
    height="100lx"
    width="100%"
    frameborder="0"
    allowfullscreen="true"
    scrolling="no">
</iframe>                </div>

		
				
  </div>
</div>


<div class="row align-items-start justify-content-between my-4">
  <!-- Left Column -->
  <!--div class="col-md-4 text-center text-md-start mb-3" data-aos="fade-right" data-aos-delay="100">
    <h5 class="footer-title">Programme</h5>
    <ul class="list-unstyled">
      <li>Sendungen</li>
      <li>Musik | Radio</li>
      <li>Video | Multimedia</li>
      <li>Events</li>
      <li>Mitmachen</li>
    </ul>
  </div-->

  <!-- Center Column -->
  <div class="col-md-4 text-center mb-3 text-md-start" data-aos="fade-up" data-aos-delay="200">
    <div class="rounded rounder-2 w-100">
      <a class="text-center p-3 w-50 d-inline-block" href="#">
        <img src="img/logo1.png" class="w-100" alt="Jam On Logo">
      </a>
    </div>
    <p class="footer-desc">Jam On bridges culture, music, and community through creative expression and collaboration.</p>
    <div class="social-icons d-flex justify-content-center gap-3 mt-5">
      <a href="https://www.mixcloud.com/JamOnRadio/" target="_blank" class="social-icon-btn"><i class="fab fa-mixcloud"></i></a>
      <a href="https://www.instagram.com/jamonradio/" target="_blank" class="social-icon-btn"><i class="fab fa-instagram"></i></a>
      <a href="https://www.youtube.com/@jamonradio/" target="_blank" class="social-icon-btn"><i class="fab fa-youtube"></i></a>
      <a href="https://www.tiktok.com/@jamon.culture" target="_blank" class="social-icon-btn"><i class="fab fa-tiktok"></i></a>
      <a href="https://www.facebook.com/JamOnRadioOfficial/" target="_blank" class="social-icon-btn"><i class="fab fa-facebook-f"></i></a>
      <a href="https://www.twitch.tv/jamonradio" target="_blank" class="social-icon-btn"><i class="fab fa-twitch"></i></a>
    </div>
  </div>

  <!-- Right Column -->
  <div class="col-md-4 mb-3 text-center text-md-end ms-auto" data-aos="fade-left" data-aos-delay="300">
    <h5 class="footer-title">Verein Jam On</h5>
    <ul class="list-unstyled">
      <li><a href="#">Über Uns</a></li>
      <li><a href="#">Team</a></li>
      <li><a href="#">Mitgliedschaft</a></li>
      <li><a href="#">Partnerschaften & Unterstützung</a></li>
      <li><a href="#">Unser Zuhause @i45</a></li>
    </ul>
  </div>
</div>



 </div>
  
  
  
  <!-- Footer under Footer (Legal Links) -->
  <div class="footer-bottom py-3 border-top">
    <div class="container d-flex flex-column flex-md-row justify-content-between text-center text-md-start">
      <p class="mb-2 mb-md-0">&copy; 2025 Jam On. All rights reserved.</p>
      <ul class="list-inline mb-0">
        <li class="list-inline-item"><a href="#">Impressum</a></li>
        <li class="list-inline-item"><a href="#">Ombudsstelle</a></li>
      </ul>
    </div>
  </div>
  
</footer>

<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/OwlCarousel2/2.3.4/owl.carousel.min.js"></script>


<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>
<script src="https://unpkg.com/aos@2.3.1/dist/aos.js"></script>

<script>
  $(document).ready(function(){
    // Initialize Owl Carousel for Features section
    $(".motion-features .owl-carousel").owlCarousel({
      loop: true,
      margin: 20,
      nav: true,
      autoplay: true,
      autoplayTimeout: 3000,
      autoplayHoverPause: true,
      responsive: {
        0: { items: 1 },
        768: { items: 2 },
        992: { items: 3 }
      }
    });

    // Initialize Owl Carousel for Trending section
    $(".trending-section .owl-carousel").owlCarousel({
      loop: true,
      margin: 20,
      nav: true,
      autoplay: true,
      autoplayTimeout: 2000,
      autoplayHoverPause: true,
      responsive: {
        0: { items: 1 },
        576: { items: 2 },
        768: { items: 3 },
        992: { items: 4 }
      }
    });

    // Initialize AOS
    AOS.init({
      once: true, // Whether animation should happen only once - default
      mirror: false, // Whether elements should animate out of view - default
      duration: 1000, // Values from 0 to 3000, with step 50ms
      easing: 'ease-out-back', // default easing for AOS animations
    });

    // Sticky live player on scroll
    var livePlayer = $('#livePlayer');
    // Ensure the initial offset is correct after page load
    var originalOffset = livePlayer.offset().top; 

    $(window).scroll(function() {
      if ($(window).scrollTop() > originalOffset) {
        livePlayer.addClass('sticky-top');
      } else {
        livePlayer.removeClass('sticky-top');
      }
    });
  });
</script>

<script>
  const audio = document.getElementById("liveAudio");
  const soundWaves = document.querySelector(".sound-waves");

  window.addEventListener("DOMContentLoaded", () => {
    // Attempt to play and unmute. Autoplay policies might restrict this until user interaction.
    // User interaction is generally required to unmute or autoplay audio without muting.
    audio.play().catch(error => {
        console.log("Autoplay blocked:", error);
        // You might want to show a play button here if autoplay is blocked
    });
    audio.muted = false; // Try to unmute after user interaction if browser allows
  });

  // Start/stop wave animation based on audio playback state
  audio.addEventListener("play", () => {
    soundWaves.classList.add("playing");
  });

  audio.addEventListener("pause", () => {
    soundWaves.classList.remove("playing");
  });

  audio.addEventListener("ended", () => {
    soundWaves.classList.remove("playing");
  });

  // Fetch track info every 20 seconds
  async function fetchLiveTrack() {
    try {
      const res = await fetch('https://www.jam-on.ch/tracklist/currentlyplaying.json');
      const data = await res.json();

      // Ensure elements exist before trying to update them
      const trackTitleElement = document.getElementById("trackTitle");
      const trackArtistElement = document.getElementById("trackArtist");
      const trackImageElement = document.getElementById("trackImage");

      if (trackTitleElement) trackTitleElement.textContent = data.track || "Unknown Track";
      if (trackArtistElement) trackArtistElement.textContent = data.artist || "Unknown Artist";
      if (trackImageElement) trackImageElement.src = data.cover || "https://www.jam-on.ch/tracklist/art-00.jpg";
    } catch (error) {
      console.error("Error fetching live track info:", error);
      const trackTitleElement = document.getElementById("trackTitle");
      const trackArtistElement = document.getElementById("trackArtist");
      if (trackTitleElement) trackTitleElement.textContent = "Unable to load";
      if (trackArtistElement) trackArtistElement.textContent = "";
    }
  }

  // Initial fetch and set interval
  fetchLiveTrack();
  setInterval(fetchLiveTrack, 20000);
</script>
 

<script>
  document.addEventListener('DOMContentLoaded', () => {
    const audio = document.getElementById('liveAudio');
    const playPauseBtn = document.getElementById('playPauseBtn');
    const muteBtn = document.getElementById('muteBtn');
    const volumeSlider = document.getElementById('volumeSlider');
    const currentTimeDisplay = document.getElementById('currentTime');
    const timeBar = document.getElementById('timeBar');

    let playStartTime = null;

    // PLAY / PAUSE
    playPauseBtn.addEventListener('click', () => {
      if (audio.paused) {
        audio.play();
        playPauseBtn.innerHTML = '<i class="fas fa-pause"></i>';
        if (!playStartTime) playStartTime = Date.now();
      } else {
        audio.pause();
        playPauseBtn.innerHTML = '<i class="fas fa-play"></i>';
      }
    });

    // MUTE / UNMUTE
    muteBtn.addEventListener('click', () => {
      audio.muted = !audio.muted;
      muteBtn.innerHTML = audio.muted
        ? '<i class="fas fa-volume-mute"></i>'
        : '<i class="fas fa-volume-up"></i>';
    });

    // Volume Control
    volumeSlider.addEventListener('input', () => {
      audio.volume = volumeSlider.value;
    });

    // Timer & Progress
    setInterval(() => {
      if (!audio.paused) {
        const elapsed = Math.floor((Date.now() - (playStartTime || Date.now())) / 1000);
        const mins = String(Math.floor(elapsed / 60)).padStart(2, '0');
        const secs = String(elapsed % 60).padStart(2, '0');
        currentTimeDisplay.textContent = `${mins}:${secs}`;
        timeBar.value = (elapsed % 100);
      }
    }, 1000);
  });
</script>

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists