[ENH] Ajout dans l'interface "à la Youtube" de tous types de contenus (Films, séries, etc.)

This commit is contained in:
Boris 2021-08-27 19:16:12 +02:00
parent 1324ab8978
commit b991c34fdd
10 changed files with 102 additions and 113 deletions

View File

@ -2,6 +2,7 @@
define('STATION_NAME', exec('cat ../../../ipfs/.12D*/_xbian.zuid')); define('STATION_NAME', exec('cat ../../../ipfs/.12D*/_xbian.zuid'));
define('HOST', 'astroport'); define('HOST', 'astroport');
define('THEME', 'astroport');
/* /*

View File

@ -1,104 +0,0 @@
:root {
--pink: hsl(338.5, 72.8%, 36.1%);
--canard: hsl(200.8, 100%, 9.6%);
}
body {
background: #121212;
color: white;
margin: 0;
padding: 0;
font-family: Roboto,sans-serif;
}
header {
background: var(--canard);
overflow: hidden;
margin-bottom: 2rem;
}
header * {
font-size: 1.5rem;
padding: 0.5rem;
margin: 0;
color: var(--pink);
text-decoration: none;
}
header span {
color: white;
}
main {
width: 80%;
margin: auto;
}
#videosList {
display: grid;
grid-gap: 1rem 1rem;
grid-auto-flow: row;
grid-template-columns: 322px 322px 322px;
list-style: none;
margin: 0;
padding: 0;
}
#videosList li {
background: var(--canard);
border-color: var(--pink);
border-radius: 0.25rem;
border-width: 1px;
border-style: solid;
overflow: hidden;
}
#videosList .video-title {
padding: 0.5rem 1rem;
}
.video-title,
.video-title a,
.video-title a:visited {
color: white;
font-weight: bold;
text-decoration: none;
}
article {
border-radius: 0.25rem;
background: var(--canard);
width: 58.3%;
margin: auto;
overflow: hidden;
}
article video {
width: 100%;
max-height: 50vh;
background: black;
}
article .video-title {
font-weight: bold;
padding: 1rem 1rem;
font-size: 1.25rem;
margin: 0;
}

1
www/boris/crowdbunker.css Symbolic link
View File

@ -0,0 +1 @@
styles/crowdbunker/style.css

View File

@ -9,4 +9,4 @@ PREFIX="$1"
YOU=$(ps auxf --sort=+utime | grep -w ipfs | grep -v -E 'color=auto|grep' | tail -n 1 | cut -d " " -f 1) && [[ ! $YOU ]] && echo "ipfs NOT RUNNING. EXIT" && exit 1 YOU=$(ps auxf --sort=+utime | grep -w ipfs | grep -v -E 'color=auto|grep' | tail -n 1 | cut -d " " -f 1) && [[ ! $YOU ]] && echo "ipfs NOT RUNNING. EXIT" && exit 1
# Filter no ipns link # Filter no ipns link
cat /home/$YOU/.zen/{ipfs,ipfs_swarm}/.*/astroport/kodi/vstream/${PREFIX}ASTRXBIAN | grep -Ev "];;" | sort | uniq | tail -n +2 cat ./{me,swarm}/.*/astroport/kodi/vstream/*ASTRXBIAN | grep -Ev "];;" | sort | uniq | tail -n +2

View File

Before

Width:  |  Height:  |  Size: 9.6 KiB

After

Width:  |  Height:  |  Size: 9.6 KiB

View File

@ -109,3 +109,9 @@ footer {
display: none; display: none;
} }
#successMsg {
opacity: 0;
transition: opacity 1s;
}

View File

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 25 KiB

View File

@ -4,18 +4,20 @@ require_once('functions.php');
$videosList = array(); $videosList = array();
exec("/bin/bash -c './get_astrxbian_index.sh'", $videos); exec("/bin/bash -c './get_astrxbian_index.sh'", $videos);
// echo '<pre>'; var_dump($videos); echo '</pre>';
// echo shell_exec('whoami'); // Pour savoir quel utilisateur système exécute les scripts PHP
$videos = array_reverse($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 // ## 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) { foreach ($videos as $v) {
list($a, $youtubeID, $c, $videoName, $e, $src, $h, $quality, $videoURI) = explode(";", $v); list($a, $youtubeID, $p3, $videoName, $p5, $src, $p7, $definition, $videoURI) = explode(";", $v);
$videoURL = 'http://'. HOST. $videoURI; $videoURL = 'http://'. HOST. $videoURI;
$videoEco = 'http://'. HOST. '/ipns/' . $h; $videoEco = 'http://'. HOST. '/ipns/' . $p7;
$mimeType = guessTypeFromFilename($videoURI); $mimeType = guessTypeFromFilename($videoURI);
@ -37,9 +39,9 @@ foreach ($videos as $v) {
?><!DOCTYPE html> ?><!DOCTYPE html>
<html> <html>
<head> <head>
<title>Astroport/School: WWW/IPFS - Interfaces et API - </title> <title>Astroport "<?php echo STATION_NAME; ?></title>
<link rel="stylesheet" href="styles/astroport/style.css" type="text/css" /> <link rel="stylesheet" href="styles/<?php echo THEME; ?>/style.css" type="text/css" />
<link rel="icon" type="image/png" href="./astroport.png" /> <link rel="icon" type="image/png" href="./styles/<?php echo THEME; ?>/logo.png" />
</head> </head>
<body> <body>

View File

@ -10,8 +10,8 @@ $videoMIME = htmlentities($_GET['mime']);
<html> <html>
<head> <head>
<title><?php echo $videoName; ?> - Astroport "<?php echo STATION_NAME; ?></title> <title><?php echo $videoName; ?> - Astroport "<?php echo STATION_NAME; ?></title>
<link rel="stylesheet" href="styles/astroport/style.css" type="text/css" /> <link rel="stylesheet" href="styles/<?php echo THEME; ?>/style.css" type="text/css" />
<link rel="icon" type="image/png" href="/astroport.png" /> <link rel="icon" type="image/png" href="./styles/<?php echo THEME; ?>/logo.png" />
</head> </head>
<body> <body>

View File

@ -0,0 +1,53 @@
<!DOCTYPE html>
<html>
<head>
<title>$TITLE in Astroport</title>
<meta charset="UTF-8">
<meta http-equiv="Refresh" content="7;URL=https://tube.copylaradio.com/ipns/$IPNSLINK/${G1PUB}/">
<link rel='stylesheet' href='http://astroport/styles/astroport/style.css' type='text/css' />
<link rel='icon' type='image/png' href='http://astroport/styles/astroport/logo.png' />
</head>
<body>
<header>
<h6>
<a href='http://astroport/'><span>ASTROPORT</span> <q>${XZUID}</q></a>
</h6>
</header>
<main>
<article>
<h1>$TITLE</h1>
<p>Lancement de la video dans 7 secondes...</p>
<p class="pubkey-and-copy-button">
Ce fichier vous est servi par une station amie. Faites lui un don pour la remercier&nbsp;:
<input type="text" id="pubkey" readonly value="${G1PUB}" />
<button id="copy">Tip !</button>
</p>
<p id="successMsg">
La clef de la station amie est maintenant copiée dans le presse-papier. Vous pouvez la coller dans le client Ğ1 de votre choix (Cesium par exemple) afin de faire votre don 😉
</p>
<script>
function copy() {
var copyText = document.querySelector("input#pubkey");
copyText.select();
document.execCommand("copy");
var successMsg = document.querySelector("#successMsg");
successMsg.style.opacity = "1";
var copyButton = document.querySelector("button#copy");
copyButton.style.animation = "none";
}
document.querySelector("button#copy").addEventListener("click", copy);
</script>
</article>
</main>
</body>
</html>

View File

@ -0,0 +1,30 @@
<!DOCTYPE html>
<html>
<head>
<title>$TITLE in Astroport</title>
<meta charset="UTF-8">
<link rel='stylesheet' href='http://astroport/styles/astroport/style.css' type='text/css' />
<link rel='icon' type='image/png' href='http://astroport/styles/astroport/logo.png' />
</head>
<body>
<header>
<h6>
<a href='http://astroport/'><span>ASTROPORT</span> <q>${XZUID}</q></a>
</h6>
</header>
<main>
<article>
<video autoplay="autoplay" controls>
<source src="http://astroport/ipfs/$IPFSREPFILEID/$URLENCODE_FILE_NAME">
<a href="http://astroport/ipfs/$IPFSREPFILEID/$URLENCODE_FILE_NAME">$TITLE</a>
</video>
<h1 class="video-title">
$TITLE
</h1>
</article>
</main>
</body>
</html>