From 1a0808b4c937430e9f02eaba25a9bf28dbd71655 Mon Sep 17 00:00:00 2001 From: Lukas Plevac Date: Tue, 5 Mar 2024 20:29:06 +0100 Subject: [PATCH] Fix upload of artifacts --- web/API/observations.php | 32 +++++++++++++++++--------------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/web/API/observations.php b/web/API/observations.php index 08f5e7d..d92f36d 100644 --- a/web/API/observations.php +++ b/web/API/observations.php @@ -126,9 +126,6 @@ } function addArtefacts($params) { - $obs = new \DAL\observation(); - $obs->id->set($params["id"]); - $obs->fetch(); $adir = __DIR__ . "/../ARTEFACTS/" . $params["id"]; @@ -136,22 +133,27 @@ mkdir($adir, 0777, true); - // chunk upload file - if ($params["offset"] == 0) { - // get current artifasts - $artefacts = $obs->artefacts->get(); - - $artefacts[] = "/ARTEFACTS/{$params['id']}/{$fname}"; - - $obs->artefacts->set($artefacts); - $obs->commit(); - } - // file pointer $ifp = fopen($adir . "/" . $fname, 'ab'); fwrite($ifp, $params["data"]); - + // clean up the file resource fclose($ifp); + + // chunk upload file + if ($params["offset"] != 0) return; + + $obs = new \DAL\observation(); + $obs->id->set($params["id"]); + $obs->fetch(); + + //get current artefacts + $artefacts = $obs->artefacts->get(); + + $artefacts[] = "/ARTEFACTS/{$params['id']}/{$fname}"; + + //done artefact save + $obs->artefacts->set($artefacts); + $obs->commit(); }