diff --git a/ajax/pwa_api.php b/ajax/pwa_api.php index dc0f056..36e6e4e 100644 --- a/ajax/pwa_api.php +++ b/ajax/pwa_api.php @@ -194,6 +194,24 @@ try { $ziel = $ziel_dir.'/'.$dateiname; $erfolg = dol_move_uploaded_file($_FILES['datei']['tmp_name'], $ziel, 1, 0, 0); if ($erfolg > 0) { + // In den Dateiindex als „hochgeladen" eintragen: dann steht der Plan im Reiter + // „Dateien" und NICHT vorne im Kasten „Verknüpfte Dokumente" (FileArchive >= 4.15 + // filtert dort nach gen_or_uploaded). Ohne Eintrag indexiert Dolibarr die Datei + // beim nächsten Aufruf selbst als „unknown" — die bliebe vorne stehen. + // Erneutes Speichern desselben Plans: vorhandenen Eintrag aktualisieren, nicht + // doppelt anlegen (addFileIntoDatabaseIndex prüft das nicht). + require_once DOL_DOCUMENT_ROOT.'/ecm/class/ecmfiles.class.php'; + $rel_dir = ltrim(preg_replace('/^'.preg_quote(DOL_DATA_ROOT, '/').'/', '', $ziel_dir), '/'); + $ecm = new EcmFiles($db); + if ($ecm->fetch(0, '', $rel_dir.'/'.$dateiname) > 0) { + $ecm->gen_or_uploaded = 'uploaded'; + $ecm->label = md5_file($ziel); + $ecm->src_object_type = $c->table_element; + $ecm->src_object_id = $c->id; + $ecm->update($user); + } else { + addFileIntoDatabaseIndex($ziel_dir, $dateiname, '', 'uploaded', 0, $c); + } echo json_encode(['erfolg' => true, 'pfad' => $ref_sanitiert.'/'.$dateiname]); } else { http_response_code(500); diff --git a/core/modules/modEplan.class.php b/core/modules/modEplan.class.php index fc77798..cf27f86 100644 --- a/core/modules/modEplan.class.php +++ b/core/modules/modEplan.class.php @@ -24,7 +24,7 @@ class modEplan extends DolibarrModules $this->editor_name = 'Alles Watt läuft'; $this->editor_url = ''; - $this->version = '1.1.1'; + $this->version = '1.1.2'; $this->const_name = 'MAIN_MODULE_'.strtoupper($this->name); $this->picto = 'fa-drafting-compass';