diff options
Diffstat (limited to 'index.php')
-rw-r--r-- | index.php | 448 |
1 files changed, 1 insertions, 447 deletions
@@ -1,447 +1 @@ -<?php if (!isset($_GET['_t'])) { header("Location: /tv"); die(); } $_TITLE = "Accueil"; require_once $_SERVER['DOCUMENT_ROOT'] . "/includes/header.php"; ?> - - <a href="/" id="logo" style="color: black;text-decoration:none !important;"><div class="container" style="margin-top: 100px;width:max-content;text-align:center;display:grid;grid-template-columns:96px 1fr;"> - <img src="https://familine.minteck.org/icns/familine-movies.svg" width="96px" style="vertical-align: middle;"> - <span style="vertical-align: middle;display:flex;align-items:center;justify-content:center;margin-left:10px;"><span> - <span style="font-size:48px;">Familine Movies</span><br> - <span>Regardez des productions familiales</span></span> - </span> - </div></a> - -<hr id="/search" style="margin-top:30px;margin-bottom:30px;"> - -<div class="container" id="search-box" style="text-align:center;"> - <h1>Qu'est-ce qu'on regarde ?</h1> - <input type="text" onkeyup="search();" id="search" autocomplete="off" spellcheck="off" class="form-control" placeholder="Entrez le nom d'un film, d'un réalisateur ou d'une année"> -</div> - -<hr id="/results" style="margin-top:30px;margin-bottom:30px;"> - -<div class="container"> - - <?php - - $times = json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/data/durations.json"), true); - - function id3time($file) { - $fparts = explode("/", $file); - $afile = $fparts[count($fparts) - 1]; - - global $times; - $date = (int)date('U'); - - if (in_array($afile, $times["@items"]) && ($date - $times[$afile]["date"] < 108000)) { - return $times[$afile]["duration"]; - } else { - include_once($_SERVER['DOCUMENT_ROOT'] . "/includes/getid3/getid3.php"); - $getID3 = new getID3; - $id3 = $getID3->analyze($file); - - if (isset($id3["playtime_string"])) { - $str = $id3["playtime_string"]; - $str2 = (int)round($id3["playtime_seconds"]); - } else { - $str = "-:--"; - $str2 = 0; - } - - $times[$afile] = [ - "duration" => $str, - "seconds" => $str2, - "date" => $date - ]; - array_push($times["@items"], $afile); - - return $str; - } - } - - function cmp_by_date($a, $b) { - return $a["date"] <=> $b["date"]; - } - - $list = scandir($_SERVER['DOCUMENT_ROOT'] . "/data/films/metadata"); - $films = []; - - foreach ($list as $item) { - if ($item !== "." && $item !== "..") { - $films[substr($item, 0, -5)] = json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/data/films/metadata/" . $item), true); - $films[substr($item, 0, -5)]["id"] = substr($item, 0, -5); - } - } - - usort($films, function ($a, $b) { - return $a['date'] <=> $b['date']; - }); - - $films = array_reverse($films); - - $seconds = 0; - foreach ($times as $titem => $tdata) { - if ($titem !== "@items") { - $seconds = $seconds + $tdata["seconds"]; - } - } - - $secstr = $seconds . " secondes"; - if ($seconds > 60) { - $secstr = round($seconds / 60) . " minutes"; - if ($seconds > 3600) { - $secstr = round($seconds / 3600) . " heures"; - } - } - - ?> - - <p><i id="counts" data-initial-value="<?= count($films) ?> vidéos, <?= $secstr ?> de contenu"><?= count($films) ?> vidéos, <?= $secstr ?> de contenu</i></p> - - <div id="non-search"> - - <h2>Contenu disponible en 4K <span class="badge badge-secondary">Nouveau</span></h2> - <div class="row"> - <?php foreach ($films as $index => $film): ?> - <?php if (file_exists($_SERVER['DOCUMENT_ROOT'] . "/data/films/video/" . $film['id'] . '@4K.' . $film["file"]) && !$film["partner"]): ?> - <div onclick="location.href=`/watch/?v=<?= $film["id"] ?>`;" class="col-sm-3 film-card" style="padding-top:15px;padding-bottom:15px;" data-search-filter="<?= str_replace("\"", """, $film["title"]) . " " . str_replace("\"", """, $film["team"]) . " " . str_replace("\"", """, $film["desc"]) . " " . str_replace("\"", """, $film["date"]) ?>"> - <div class="card"> - <img class="card-img-top" src="/cdn/image/?i=<?= $film["id"] ?>" alt="Card image"> - <div class="card-body"> - <?= file_exists($_SERVER['DOCUMENT_ROOT'] . "/data/films/video/" . $film['id'] . '@4K.' . $film["file"]) ? '<span class="badge badge-danger">4K</span>' : '' ?> - <span class="badge badge-secondary"> - <?php - - echo(id3time($_SERVER['DOCUMENT_ROOT'] . "/data/films/video/" . $film["id"] . "." . $film["file"])); - - ?></span> <?= isset($film["soon"]) && $film["soon"] ? '<span class="badge badge-warning badge-pill">Prochainement !</span>' : '' ?> <?= isset($film["partner"]) && $film["partner"] ? '<span class="badge badge-info">Suggestion</span>' : '' ?> <?php - - if (isset($film['trigger']) && $film['trigger']) { - echo('<span class="badge badge-primary">TW: '); - if (isset($film["tw_flashing"]) && $film["tw_flashing"]) { - echo("F"); - } - if (isset($film["tw_suicide"]) && $film["tw_suicide"]) { - echo("S"); - } - if (isset($film["tw_violence"]) && $film["tw_violence"]) { - echo("V"); - } - if (isset($film["tw_sex"]) && $film["tw_sex"]) { - echo("X"); - } - echo("</span>"); - } - - ?><br> - <h4 class="card-title" style="text-overflow: ellipsis;white-space: nowrap;overflow: hidden;"><?= $film["title"] ?></h4> - <p class="card-text"> - <span style="display: block;text-overflow: ellipsis;white-space: nowrap;overflow: hidden;"><?= $film["team"] ?></span> - <span style="display: block;text-overflow: ellipsis;white-space: nowrap;overflow: hidden;"><?= substr($film["date"], 0, 4) ?></span> - </p> - </div> - </div> - </div> - <?php endif; ?> - <?php endforeach; ?> - </div> - - <h2>Musiques par YonKaGor</h2> - <div class="row"> - <?php foreach ($films as $index => $film): ?> - <?php if ($film["team"] === "YonKaGor" && $film["partner"]): ?> - <div onclick="location.href=`/watch/?v=<?= $film["id"] ?>`;" class="col-sm-3 film-card" style="padding-top:15px;padding-bottom:15px;" data-search-filter="<?= str_replace("\"", """, $film["title"]) . " " . str_replace("\"", """, $film["team"]) . " " . str_replace("\"", """, $film["desc"]) . " " . str_replace("\"", """, $film["date"]) ?>"> - <div class="card"> - <img class="card-img-top" src="/cdn/image/?i=<?= $film["id"] ?>" alt="Card image"> - <div class="card-body"> - <?= file_exists($_SERVER['DOCUMENT_ROOT'] . "/data/films/video/" . $film['id'] . '@4K.' . $film["file"]) ? '<span class="badge badge-danger">4K</span>' : '' ?> - <span class="badge badge-secondary"> - <?php - - echo(id3time($_SERVER['DOCUMENT_ROOT'] . "/data/films/video/" . $film["id"] . "." . $film["file"])); - - ?></span> <?= isset($film["soon"]) && $film["soon"] ? '<span class="badge badge-warning badge-pill">Prochainement !</span>' : '' ?> <?= isset($film["partner"]) && $film["partner"] ? '<span class="badge badge-info">Suggestion</span>' : '' ?> <?php - - if (isset($film['trigger']) && $film['trigger']) { - echo('<span class="badge badge-primary">TW: '); - if (isset($film["tw_flashing"]) && $film["tw_flashing"]) { - echo("F"); - } - if (isset($film["tw_suicide"]) && $film["tw_suicide"]) { - echo("S"); - } - if (isset($film["tw_violence"]) && $film["tw_violence"]) { - echo("V"); - } - if (isset($film["tw_sex"]) && $film["tw_sex"]) { - echo("X"); - } - echo("</span>"); - } - - ?><br> - <h4 class="card-title" style="text-overflow: ellipsis;white-space: nowrap;overflow: hidden;"><?= $film["title"] ?></h4> - <p class="card-text"> - <span style="display: block;text-overflow: ellipsis;white-space: nowrap;overflow: hidden;"><?= $film["team"] ?></span> - <span style="display: block;text-overflow: ellipsis;white-space: nowrap;overflow: hidden;"><?= substr($film["date"], 0, 4) ?></span> - </p> - </div> - </div> - </div> - <?php endif; ?> - <?php endforeach; ?> - </div> - - <h2>Les aventures de Nathan</h2> - <div class="row"> - <?php foreach ($films as $index => $film): ?> - <?php if (!file_exists($_SERVER['DOCUMENT_ROOT'] . "/data/films/video/" . $film['id'] . '@4K.' . $film["file"]) && (strpos($film["title"], "Les aventures de Nathan") !== false || strpos($film["title"], "Vacances de Nathan") !== false)): ?> - <div onclick="location.href=`/watch/?v=<?= $film["id"] ?>`;" class="col-sm-3 film-card" style="padding-top:15px;padding-bottom:15px;" data-search-filter="<?= str_replace("\"", """, $film["title"]) . " " . str_replace("\"", """, $film["team"]) . " " . str_replace("\"", """, $film["desc"]) . " " . str_replace("\"", """, $film["date"]) ?>"> - <div class="card"> - <img class="card-img-top" src="/cdn/image/?i=<?= $film["id"] ?>" alt="Card image"> - <div class="card-body"> - <?= file_exists($_SERVER['DOCUMENT_ROOT'] . "/data/films/video/" . $film['id'] . '@4K.' . $film["file"]) ? '<span class="badge badge-danger">4K</span>' : '' ?> - <span class="badge badge-secondary"> - <?php - - echo(id3time($_SERVER['DOCUMENT_ROOT'] . "/data/films/video/" . $film["id"] . "." . $film["file"])); - - ?></span> <?= isset($film["soon"]) && $film["soon"] ? '<span class="badge badge-warning badge-pill">Prochainement !</span>' : '' ?> <?= isset($film["partner"]) && $film["partner"] ? '<span class="badge badge-info">Suggestion</span>' : '' ?> <?php - - if (isset($film['trigger']) && $film['trigger']) { - echo('<span class="badge badge-primary">TW: '); - if (isset($film["tw_flashing"]) && $film["tw_flashing"]) { - echo("F"); - } - if (isset($film["tw_suicide"]) && $film["tw_suicide"]) { - echo("S"); - } - if (isset($film["tw_violence"]) && $film["tw_violence"]) { - echo("V"); - } - if (isset($film["tw_sex"]) && $film["tw_sex"]) { - echo("X"); - } - echo("</span>"); - } - - ?><br> - <h4 class="card-title" style="text-overflow: ellipsis;white-space: nowrap;overflow: hidden;"><?= $film["title"] ?></h4> - <p class="card-text"> - <span style="display: block;text-overflow: ellipsis;white-space: nowrap;overflow: hidden;"><?= $film["team"] ?></span> - <span style="display: block;text-overflow: ellipsis;white-space: nowrap;overflow: hidden;"><?= substr($film["date"], 0, 4) ?></span> - </p> - </div> - </div> - </div> - <?php endif; ?> - <?php endforeach; ?> - </div> - - <h2>L'ère NatORGANIS <small>(2011-2017)</small></h2> - <div class="row"> - <?php foreach ($films as $index => $film): ?> - <?php if (!file_exists($_SERVER['DOCUMENT_ROOT'] . "/data/films/video/" . $film['id'] . '@4K.' . $film["file"]) && (int)$film["date"] < 201705 !== false && strpos($film["title"], "Les aventures de Nathan") === false && $film["team"] !== "YonKaGor" && strpos($film["title"], "Vacances de Nathan") === false): ?> - <div onclick="location.href=`/watch/?v=<?= $film["id"] ?>`;" class="col-sm-3 film-card" style="padding-top:15px;padding-bottom:15px;" data-search-filter="<?= str_replace("\"", """, $film["title"]) . " " . str_replace("\"", """, $film["team"]) . " " . str_replace("\"", """, $film["desc"]) . " " . str_replace("\"", """, $film["date"]) ?>"> - <div class="card"> - <img class="card-img-top" src="/cdn/image/?i=<?= $film["id"] ?>" alt="Card image"> - <div class="card-body"> - <?= file_exists($_SERVER['DOCUMENT_ROOT'] . "/data/films/video/" . $film['id'] . '@4K.' . $film["file"]) ? '<span class="badge badge-danger">4K</span>' : '' ?> - <span class="badge badge-secondary"> - <?php - - echo(id3time($_SERVER['DOCUMENT_ROOT'] . "/data/films/video/" . $film["id"] . "." . $film["file"])); - - ?></span> <?= isset($film["soon"]) && $film["soon"] ? '<span class="badge badge-warning badge-pill">Prochainement !</span>' : '' ?> <?= isset($film["partner"]) && $film["partner"] ? '<span class="badge badge-info">Suggestion</span>' : '' ?> <?php - - if (isset($film['trigger']) && $film['trigger']) { - echo('<span class="badge badge-primary">TW: '); - if (isset($film["tw_flashing"]) && $film["tw_flashing"]) { - echo("F"); - } - if (isset($film["tw_suicide"]) && $film["tw_suicide"]) { - echo("S"); - } - if (isset($film["tw_violence"]) && $film["tw_violence"]) { - echo("V"); - } - if (isset($film["tw_sex"]) && $film["tw_sex"]) { - echo("X"); - } - echo("</span>"); - } - - ?><br> - <h4 class="card-title" style="text-overflow: ellipsis;white-space: nowrap;overflow: hidden;"><?= $film["title"] ?></h4> - <p class="card-text"> - <span style="display: block;text-overflow: ellipsis;white-space: nowrap;overflow: hidden;"><?= $film["team"] ?></span> - <span style="display: block;text-overflow: ellipsis;white-space: nowrap;overflow: hidden;"><?= substr($film["date"], 0, 4) ?></span> - </p> - </div> - </div> - </div> - <?php endif; ?> - <?php endforeach; ?> - </div> - - <h2>Tout Famiprods à un seul endroit</h2> - <div class="row"> - <?php foreach ($films as $index => $film): ?> - <?php if (!file_exists($_SERVER['DOCUMENT_ROOT'] . "/data/films/video/" . $film['id'] . '@4K.' . $film["file"]) && (int)$film["date"] > 201705 !== false && strpos($film["title"], "Les aventures de Nathan") === false && $film["team"] !== "YonKaGor" && strpos($film["title"], "Vacances de Nathan") === false): ?> - <div onclick="location.href=`/watch/?v=<?= $film["id"] ?>`;" class="col-sm-3 film-card" style="padding-top:15px;padding-bottom:15px;" data-search-filter="<?= str_replace("\"", """, $film["title"]) . " " . str_replace("\"", """, $film["team"]) . " " . str_replace("\"", """, $film["desc"]) . " " . str_replace("\"", """, $film["date"]) ?>"> - <div class="card"> - <img class="card-img-top" src="/cdn/image/?i=<?= $film["id"] ?>" alt="Card image"> - <div class="card-body"> - <?= file_exists($_SERVER['DOCUMENT_ROOT'] . "/data/films/video/" . $film['id'] . '@4K.' . $film["file"]) ? '<span class="badge badge-danger">4K</span>' : '' ?> - <span class="badge badge-secondary"> - <?php - - echo(id3time($_SERVER['DOCUMENT_ROOT'] . "/data/films/video/" . $film["id"] . "." . $film["file"])); - - ?></span> <?= isset($film["soon"]) && $film["soon"] ? '<span class="badge badge-warning badge-pill">Prochainement !</span>' : '' ?> <?= isset($film["partner"]) && $film["partner"] ? '<span class="badge badge-info">Suggestion</span>' : '' ?> <?php - - if (isset($film['trigger']) && $film['trigger']) { - echo('<span class="badge badge-primary">TW: '); - if (isset($film["tw_flashing"]) && $film["tw_flashing"]) { - echo("F"); - } - if (isset($film["tw_suicide"]) && $film["tw_suicide"]) { - echo("S"); - } - if (isset($film["tw_violence"]) && $film["tw_violence"]) { - echo("V"); - } - if (isset($film["tw_sex"]) && $film["tw_sex"]) { - echo("X"); - } - echo("</span>"); - } - - ?><br> - <h4 class="card-title" style="text-overflow: ellipsis;white-space: nowrap;overflow: hidden;"><?= $film["title"] ?></h4> - <p class="card-text"> - <span style="display: block;text-overflow: ellipsis;white-space: nowrap;overflow: hidden;"><?= $film["team"] ?></span> - <span style="display: block;text-overflow: ellipsis;white-space: nowrap;overflow: hidden;"><?= substr($film["date"], 0, 4) ?></span> - </p> - </div> - </div> - </div> - <?php endif; ?> - <?php endforeach; ?> - </div> - - </div> - - <div class="row" id="search-results" style="display:none;"> - <?php foreach ($films as $index => $film): ?> - <div onclick="location.href=`/watch/?v=<?= $film["id"] ?>`;" class="col-sm-3 query-film-card" style="padding-top:15px;padding-bottom:15px;" data-search-filter="<?= str_replace("\"", """, $film["title"]) . " " . str_replace("\"", """, $film["team"]) . " " . str_replace("\"", """, $film["desc"]) . " " . str_replace("\"", """, $film["date"]) ?>"> - <div class="card"> - <img class="card-img-top" src="/cdn/image/?i=<?= $film["id"] ?>" alt="Card image"> - <div class="card-body"> - <?= file_exists($_SERVER['DOCUMENT_ROOT'] . "/data/films/video/" . $film['id'] . '@4K.' . $film["file"]) ? '<span class="badge badge-danger">4K</span>' : '' ?> - <span class="badge badge-secondary"> - <?php - - echo(id3time($_SERVER['DOCUMENT_ROOT'] . "/data/films/video/" . $film["id"] . "." . $film["file"])); - - ?></span> <?= isset($film["soon"]) && $film["soon"] ? '<span class="badge badge-warning badge-pill">Prochainement !</span>' : '' ?> <?= isset($film["partner"]) && $film["partner"] ? '<span class="badge badge-info">Suggestion</span>' : '' ?> <?php - - if (isset($film['trigger']) && $film['trigger']) { - echo('<span class="badge badge-primary">TW: '); - if (isset($film["tw_flashing"]) && $film["tw_flashing"]) { - echo("F"); - } - if (isset($film["tw_suicide"]) && $film["tw_suicide"]) { - echo("S"); - } - if (isset($film["tw_violence"]) && $film["tw_violence"]) { - echo("V"); - } - if (isset($film["tw_sex"]) && $film["tw_sex"]) { - echo("X"); - } - echo("</span>"); - } - - ?><br> - <h4 class="card-title" style="text-overflow: ellipsis;white-space: nowrap;overflow: hidden;"><?= $film["title"] ?></h4> - <p class="card-text"> - <span style="display: block;text-overflow: ellipsis;white-space: nowrap;overflow: hidden;"><?= $film["team"] ?></span> - <span style="display: block;text-overflow: ellipsis;white-space: nowrap;overflow: hidden;"><?= substr($film["date"], 0, 4) ?></span> - </p> - </div> - </div> - </div> - <?php endforeach; ?> - </div> -</div> - -<script> - - document.getElementById('search').focus(); - - $(document).keydown(function(e) { - if (e.keyCode === 27) { - location.hash = "#/start"; - setTimeout(() => { - document.getElementById('search').focus(); - }, 500) - } - }) - - $("#search").on('keyup', function (event) { - if (event.keyCode === 13) { - location.hash = "#/results"; - document.getElementById('search').blur(); - } - }); - - function search() { - document.getElementById("non-search").style.display = "none"; - document.getElementById("search-results").style.display = ""; - - location.hash = "#/search"; - document.getElementById('search').focus(); - - query = document.getElementById('search').value.toLowerCase().trim().split(">").join("-").split(">").join("-"); - words = query.split(" "); - count = 0; - - if (query !== "") { - Array.from(document.getElementsByClassName("query-film-card")).forEach((item) => { - item.style.display = "none"; - }) - } - - if (query === "") { - count = Array.from(document.getElementsByClassName("query-film-card")).length; - document.getElementById("non-search").style.display = ""; - document.getElementById("search-results").style.display = "none"; - Array.from(document.getElementsByClassName("query-film-card")).forEach((item) => { - item.style.display = ""; - }) - } - - if (query !== "") { - Array.from(document.getElementsByClassName("query-film-card")).forEach((item) => { - data = item.getAttribute("data-search-filter").toLowerCase(); - if (data.includes(query)) { - count++; - item.style.display = ""; - } - }) - } - - if (count === 0) { - document.getElementById('counts').innerText = "Aucun résultat correspondant à « " + query + " »"; - } else if (count === 1) { - document.getElementById('counts').innerText = "1 résultat correspondant à « " + query + " »"; - } else if (count > 1) { - document.getElementById('counts').innerText = count + " résultats correspondant à « " + query + " »"; - } - - if (query === "") { - document.getElementById('counts').innerText = document.getElementById('counts').getAttribute("data-initial-value"); - } - } - -</script> - -<?php file_put_contents($_SERVER['DOCUMENT_ROOT'] . "/data/durations.json", json_encode($times, JSON_PRETTY_PRINT)); require_once $_SERVER['DOCUMENT_ROOT'] . "/includes/footer.php"; ?> +<?php header("Location: /app"); die(); |