feat: permit to play Castopod files

This commit is contained in:
2025-10-17 21:28:14 +04:00
parent b3ee9d9837
commit 6ac195b089
4 changed files with 237 additions and 148 deletions
+29 -12
View File
@@ -135,15 +135,15 @@ setSecurityHeaders();
if (empty($castopodEpisodes)) {
echo '<div class="castopod-no-episodes">Aucun épisode disponible</div>';
} else {
foreach ($castopodEpisodes as $episode):
foreach ($castopodEpisodes as $index => $episode):
?>
<a href="<?php echo htmlspecialchars($episode['link']); ?>"
class="castopod-episode-item"
target="_blank"
rel="noopener noreferrer"
title="<?php echo htmlspecialchars($episode['title']); ?>">
<div class="castopod-episode-item"
data-episode-id="<?php echo $index; ?>"
data-audio-url="<?php echo htmlspecialchars($episode['audioUrl']); ?>">
<div class="castopod-episode-thumb">
<button class="castopod-episode-thumb castopod-play-btn"
type="button"
aria-label="Lire <?php echo htmlspecialchars($episode['title']); ?>">
<?php if (!empty($episode['image'])): ?>
<img src="<?php echo htmlspecialchars($episode['image']); ?>"
alt="<?php echo htmlspecialchars($episode['title']); ?>"
@@ -151,10 +151,13 @@ setSecurityHeaders();
<div class="castopod-play-icon">
<i class="fas fa-play-circle"></i>
</div>
<div class="castopod-pause-icon">
<i class="fas fa-pause-circle"></i>
</div>
<?php else: ?>
<i class="fas fa-podcast"></i>
<?php endif; ?>
</div>
</button>
<div class="castopod-episode-info">
<h3 class="castopod-episode-title">
@@ -175,7 +178,21 @@ setSecurityHeaders();
<?php endif; ?>
</div>
</div>
</a>
<a href="<?php echo htmlspecialchars($episode['link']); ?>"
class="castopod-external-link"
target="_blank"
rel="noopener noreferrer"
title="Voir sur Castopod"
aria-label="Voir <?php echo htmlspecialchars($episode['title']); ?> sur Castopod">
<i class="fas fa-external-link-alt"></i>
</a>
<!-- Élément audio caché -->
<audio preload="none">
<source src="<?php echo htmlspecialchars($episode['audioUrl']); ?>" type="audio/mpeg">
</audio>
</div>
<?php
endforeach;
}
@@ -722,9 +739,9 @@ setSecurityHeaders();
});
</script>
<?php if (defined('FUNKWHALE_ENABLED') && FUNKWHALE_ENABLED): ?>
<!-- Lecteur audio Funkwhale -->
<script src="js/funkwhale-player.js?v=<?php echo filemtime('js/funkwhale-player.js'); ?>"></script>
<?php if ((defined('FUNKWHALE_ENABLED') && FUNKWHALE_ENABLED) || (defined('CASTOPOD_ENABLED') && CASTOPOD_ENABLED)): ?>
<!-- Lecteur audio unifié pour Funkwhale et Castopod -->
<script src="js/audio-player.js?v=<?php echo filemtime('js/audio-player.js'); ?>"></script>
<?php endif; ?>
</body>
</html>