echo "<h2>Currently live</h2>";
echo "<ul>";
foreach ($params[0] as $idol) {
- if (count($idol[1]) > 0)
+ if (gettype($idol[1]) == "string")
echo "<li><a href='/live?id=" . $idol[0]["id"] . "'>" . ucfirst($idol[0]["username"]) . "</a></li>";
}
echo "</ul>";
echo "<h2>Currently offline</h2>";
echo "<ul>";
foreach ($params[0] as $idol) {
- if (count($idol[1]) == 0)
+ if (gettype($idol[1]) == "array")
echo "<li><a href='/live?id=" . $idol[0]["id"] . "'>" . ucfirst($idol[0]["username"]) . "</a></li>";
}
echo "</ul>";
if (str_contains($vtuber[0]["link"], "twitch.tv")) {
echo "<iframe src=\"https://player.twitch.tv/?channel=" . $vtuber[0]["login"] . "&parent=localhost\" frameborder=\"0\" allowfullscreen=\"true\" scrolling=\"no\"></iframe>";
} else {
- echo "<iframe src=\"https://www.youtube.com/embed/" . $vtuber[1][0] . "\" title=\"YouTube video player\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen></iframe>";
+ echo "<iframe src=\"".str_replace("watch?v=", "embed/", $vtuber[1])."\" title=\"YouTube video player\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen></iframe>";
}
?>
</div>
<?php
-// se il canale รจ live aggiunge il link della live al database di vtuber
-// aggiungi colonna alla table vtubers con null o il link alla live
use app\core\Application;
$app = new Application(__DIR__, $config);
-$stmt = $app->db->pdo->prepare("select link, login from vtubers");
-$stmt->execute();
-$data = $stmt->fetchAll();
+while (true) {
+ $stmt = $app->db->pdo->prepare("select id, link, login from vtubers");
+ $stmt->execute();
+ $data = $stmt->fetchAll();
+ $isLive = false;
-foreach ($data as $vtuber) {
- $link = $vtuber["link"];
- $login = $vtuber["login"];
+ foreach ($data as $vtuber) {
+ $link = $vtuber["link"];
+ $login = $vtuber["login"];
- if (str_contains($link, "twitch.tv")) {
- $clientID = $app->config["twitch"]["clientid"] ?? "";
- $token = $app->config["twitch"]["token"] ?? "";
+ if (str_contains($link, "twitch.tv")) {
+ $clientID = $app->config["twitch"]["clientid"] ?? "";
+ $token = $app->config["twitch"]["token"] ?? "";
- $url = "https://api.twitch.tv/helix/streams?user_login=$login";
+ $url = "https://api.twitch.tv/helix/streams?user_login=$login";
- $ch = curl_init($url);
- curl_setopt($ch, CURLOPT_URL, $url);
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
- curl_setopt($ch, CURLOPT_HTTPHEADER, array("Client-ID: $clientID", "Authorization: Bearer $token"));
+ $ch = curl_init($url);
+ curl_setopt($ch, CURLOPT_URL, $url);
+ curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
+ curl_setopt($ch, CURLOPT_HTTPHEADER, array("Client-ID: $clientID", "Authorization: Bearer $token"));
- $result = get_object_vars(json_decode(curl_exec($ch)));
- curl_close($ch);
+ $result = get_object_vars(json_decode(curl_exec($ch)));
+ curl_close($ch);
- // echo count($result["data"]) ? "$login live\n" : "$login non live\n";
- if (count($result["data"])) {
- echo "$login live\n";
+ if (count($result["data"])) {
+ $stmt = $app->db->pdo->prepare("update vtubers set live='twitch.tv/$login' where id=" . $vtuber["id"]);
+ $stmt->execute();
+ $isLive = true;
+ }
}
- }
- if (str_contains($link, "youtube.com")) {
- $url = "https://www.youtube.com/channel/$login/live";
+ if (str_contains($link, "youtube.com")) {
+ $url = "https://www.youtube.com/channel/$login/live";
- $ch = curl_init($url);
- curl_setopt($ch, CURLOPT_URL, $url);
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
+ $ch = curl_init($url);
+ curl_setopt($ch, CURLOPT_URL, $url);
+ curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
- $result = curl_exec($ch);
- curl_close($ch);
+ $result = curl_exec($ch);
+ curl_close($ch);
- $doc = new DOMDocument();
- libxml_use_internal_errors(true);
- $doc->loadHTML($result);
+ $doc = new DOMDocument();
+ libxml_use_internal_errors(true);
+ $doc->loadHTML($result);
- $result = $doc->getElementsByTagName("link");
- $length = $result->length;
+ $result = $doc->getElementsByTagName("link");
+ $length = $result->length;
- for ($i = 0; $i < $length; $i++) {
- $tag = $result->item($i)->getAttribute("href");
- if (str_contains($tag, "https://www.youtube.com/watch?v=")) {
- echo "$login live\n";
+ for ($i = 0; $i < $length; $i++) {
+ $tag = $result->item($i)->getAttribute("href");
+ if (str_contains($tag, "https://www.youtube.com/watch?v=")) {
+ $stmt = $app->db->pdo->prepare("update vtubers set live='$tag' where id=" . $vtuber["id"]);
+ $stmt->execute();
+ $isLive = true;
+ }
}
+
+ unset($doc);
}
- unset($doc);
+ if (!$isLive) {
+ $stmt = $app->db->pdo->prepare("update vtubers set live=NULL where id=" . $vtuber["id"]);
+ $stmt->execute();
+ }
}
}