From 36e534be13a431b4bd2abb3ad44f40268395bdf4 Mon Sep 17 00:00:00 2001 From: bogale Date: Thu, 1 Oct 2026 03:13:29 +0900 Subject: [PATCH] back to files backend --- .gitignore | 1 + app/pswd.php | 3 ++- index.php | 5 ++-- local/media/get.php | 3 ++- local/notes/db.sql | 8 ------- local/notes/index.php | 46 +++++++++++++++++++++++++++---------- local/notes/write.php | 53 ++++++++++++++++--------------------------- templates/lib.php | 6 +---- 8 files changed, 63 insertions(+), 62 deletions(-) delete mode 100644 local/notes/db.sql diff --git a/.gitignore b/.gitignore index 783175d..c4f101b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ /local/net /favicon.ico /local/media/urls +/local/notes/files /local/media/videos diff --git a/app/pswd.php b/app/pswd.php index 1f65476..5aee1bb 100644 --- a/app/pswd.php +++ b/app/pswd.php @@ -1,5 +1,6 @@ @@ -12,7 +13,7 @@ require "$_shared/header.php"; Grafana
Notes
Media viewer
-Media downloader
+ diff --git a/local/media/get.php b/local/media/get.php index 96f9b14..9695cb1 100644 --- a/local/media/get.php +++ b/local/media/get.php @@ -1,5 +1,6 @@ -Write a note
-

Notes

-query("select * from notes.entries order by date desc"); -foreach ($entries as $entry) { - $id = $entry["id"]; - $text = $entry["title"]; - echo "$text
\n"; +$name = $_GET["name"]; +$baseDir = __DIR__."/files/$name"; +echo "New note
\n"; +foreach (scandir($baseDir) as $entry) { + if ($entry === ".") continue; + $path = "$baseDir/$entry"; + $newName = trim("$name/$entry", "/"); + if (is_dir($path)) { + $elem["type"] = "dirs"; + $elem["href"] = ".?name=$newName"; + } else if (substr($entry, -5) === ".note") { + $elem["type"] = "notes"; + $entry = substr($entry, 0, -5); + $elem["href"] = "write.php?name=$newName"; + } else { + $elem["type"] = "files"; + $elem["href"] = "files/$newName"; + } + $elem["entry"] = $entry; + $elem["date"] = filemtime($path); + $elems[] = $elem; +} +usort($elems, function($a, $b) { + return $a["type"] <=> $b["type"] ?: $b["date"] <=> $a["date"]; +}); +foreach ($elems as $elem) { + if ($elem["type"] !== $type) { + $type = $elem["type"]; + echo "

$type

\n"; + } + $text = date("Y-m-d\TH:i", $elem["date"])." ".$elem["entry"]; + echo "$text
\n"; } require "$_shared/footer.php"; ?> diff --git a/local/notes/write.php b/local/notes/write.php index 6245fee..73e3c6e 100644 --- a/local/notes/write.php +++ b/local/notes/write.php @@ -1,49 +1,36 @@ prepare("delete from notes.entries where id = ?"); - $stmt->execute([$note_id]); - header("Location: ."); - exit; - } - $stmt = $pdo->prepare("select * from notes.entries where id = ?"); - $stmt->execute([$note_id]); - $entry = $stmt->fetch(); - $title = $entry["title"]; - $note = $entry["note"]; - $date = $entry["date"]; - $del_href = "Delele"; - }; + $name = $_GET["name"]; + $file = __DIR__."/files/$name"; + if (!is_dir($file)) { + $name = dirname($name); + $title = substr(basename($file), 0, -5); + $note = file_get_contents($file); + $date = date("Y-m-d\TH:i", filemtime($file)); + } break; case "POST": - $pdo = pdo_init(); - if ($_POST["id"] == "") { - $stmt = $pdo->prepare("insert into notes.entries - (title, note, date) values (?, ?, ?)"); - $stmt->execute([$_POST["title"], $_POST["note"], $_POST["date"]]); - } else { - $stmt = $pdo->prepare("update notes.entries - set title = ?, note = ?, date = ? where id = ?"); - $stmt->execute([$_POST["title"], $_POST["note"], $_POST["date"], $_POST["id"]]); - } - header("Location: ."); + $name = $_POST["name"]; + $file = __DIR__."/files/$name/".$_POST["title"].".note"; + file_put_contents($file, $_POST["note"]); + $date = $_POST["date"]; + if ($date == "") $date = null; + else $date = strtotime($date); + touch($file, $date); + header("Location: .?name=$name"); exit; } $_title = "Notes"; require "$_shared/header.php"; ?>
- - + + -
PDO::FETCH_ASSOC, - ]); -} +date_default_timezone_set("Asia/Chita"); ?>