aboutsummaryrefslogtreecommitdiff
path: root/includes/construct.php
diff options
context:
space:
mode:
authorMinteck <contact@minteck.org>2022-02-05 15:55:51 +0100
committerMinteck <contact@minteck.org>2022-02-05 15:55:51 +0100
commitcee23ce48ea81612eefe30552da1cc286138af0b (patch)
treee0eca8d2a62139f47d63d00076b84e033ce1d68f /includes/construct.php
parented531165841a1de9200782b00b99b174bf2289cd (diff)
downloadmovies-cee23ce48ea81612eefe30552da1cc286138af0b.tar.gz
movies-cee23ce48ea81612eefe30552da1cc286138af0b.tar.bz2
movies-cee23ce48ea81612eefe30552da1cc286138af0b.zip
Update
Diffstat (limited to 'includes/construct.php')
-rw-r--r--includes/construct.php51
1 files changed, 51 insertions, 0 deletions
diff --git a/includes/construct.php b/includes/construct.php
new file mode 100644
index 0000000..6d32c7d
--- /dev/null
+++ b/includes/construct.php
@@ -0,0 +1,51 @@
+<?php
+
+$_SERVER = [
+ 'DOCUMENT_ROOT' => "/mnt/faminema"
+];
+
+echo("Loading database...\n");
+$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)) {
+ echo("$file => metadata too recent\n");
+ 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
+ ];
+ $times["@items"][] = $afile;
+ file_put_contents($_SERVER['DOCUMENT_ROOT'] . "/data/durations.json", json_encode($times, JSON_PRETTY_PRINT));
+
+ echo("$file => metadata updated\n");
+ return $str;
+ }
+}
+
+foreach (scandir($_SERVER['DOCUMENT_ROOT'] . "/data/films/video") as $file) {
+ if ($file !== "." && $file !== "..") {
+ echo("Constructing metadata for $file\n");
+ id3time($_SERVER['DOCUMENT_ROOT'] . "/data/films/video/" . $file);
+ }
+} \ No newline at end of file