forked from axiom-team/astrXbian
105 lines
2.6 KiB
PHP
105 lines
2.6 KiB
PHP
<?php
|
||
require_once('conf.php');
|
||
require_once('functions.php');
|
||
|
||
|
||
$videosList = array();
|
||
|
||
exec("/bin/bash -c './get_youtube_videos.sh F'", $videos);
|
||
$videos = array_reverse($videos);
|
||
// ## film;MDan5TDuT-0;;Le Manuel de Survie en Dictature v1.1 au format papier;;["onelove"];k51qzi5uqu5dl0hnglpzumjezep2avacrtbx7i15v91elcxac4cpd8290kl1hq;720p;/ipfs/QmZp63RXhLm6QASmw1t2R8fu5waSJFmyW7cmdVNxyuJXzg/MDan5TDuT-0_Le%20Manuel%20de%20Survie%20en%20Dictature%20v1.1%20au%20format%20papier.mp4
|
||
|
||
foreach ($videos as $v) {
|
||
|
||
list($a, $youtubeID, $c, $videoName, $e, $src, $h, $quality, $videoURI) = explode(";", $v);
|
||
|
||
|
||
$videoURL = 'https://'. HOST. $videoURI;
|
||
$videoEco = 'https://'. HOST. '/ipns/' . $h;
|
||
$mimeType = guessTypeFromFilename($videoURI);
|
||
|
||
|
||
if ($mimeType == 'video/mp4') {
|
||
|
||
$videosList[] = [
|
||
'mime' => $mimeType,
|
||
'url' => $videoURL,
|
||
'eco' => $videoEco,
|
||
'uri' => $videoURI,
|
||
'mediakeyipns' => $h,
|
||
'name' => $videoName,
|
||
'youtubeID' => $youtubeID
|
||
];
|
||
}
|
||
|
||
}
|
||
|
||
|
||
?><!DOCTYPE html>
|
||
<html>
|
||
<head>
|
||
<title>Astro CLUB</title>
|
||
<link rel="stylesheet" href="crowdbunker.css" type="text/css" />
|
||
<link rel="icon" type="image/png" href="./astrocrowdbunker.png" />
|
||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
|
||
<script type="text/javascript" src="./instascan.min.js"></script>
|
||
</head>
|
||
<body>
|
||
|
||
<header>
|
||
<h1>
|
||
<a href="youtube.php"><span>Astroport</span> × <span>Video CLUB</span></a>
|
||
</h1>
|
||
</header>
|
||
|
||
<main>
|
||
|
||
<video id="preview"></video>
|
||
|
||
<?php
|
||
echo '<ul id="videosList">';
|
||
|
||
foreach ($videosList as $video) {
|
||
|
||
echo '<li>';
|
||
|
||
// $href = 'youtube_watch.php?uri='. $video['uri'] . '&name='. urlencode($video['name']) .'&mime='. $video['mime'];
|
||
|
||
echo '
|
||
|
||
<a href="'. $video['eco'] .'">
|
||
<img src="'. sprintf(MEDIAQR, $video['mediakeyipns']) . '" alt="'. $video['name'] . '" />
|
||
</a>
|
||
|
||
<p class="video-title">
|
||
<a href="'. $video['eco'] .'">
|
||
' . $video['name'] . '
|
||
</a>
|
||
</p>';
|
||
|
||
echo '</li>';
|
||
}
|
||
|
||
echo '</ul>';
|
||
?>
|
||
</main>
|
||
|
||
<script type="text/javascript">
|
||
let scanner = new Instascan.Scanner({ video: document.getElementById('preview') });
|
||
scanner.addListener('scan', function (content) {
|
||
alert(content);
|
||
});
|
||
Instascan.Camera.getCameras().then(function (cameras) {
|
||
if (cameras.length > 0) {
|
||
scanner.start(cameras[0]);
|
||
} else {
|
||
console.error('No cameras found.');
|
||
}
|
||
}).catch(function (e) {
|
||
console.error(e);
|
||
});
|
||
</script>
|
||
|
||
</body>
|
||
</html>
|