From a0d35106cf6fab214a3de12fe30ade4c70471622 Mon Sep 17 00:00:00 2001 From: Fabian Helfer Date: Tue, 18 Aug 2026 13:45:45 +0200 Subject: [PATCH] [Fix] LegalDocuments: Avoid MySQL error 1093 when deleting documents --- .../classes/Repository/DatabaseDocumentRepository.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/components/ILIAS/LegalDocuments/classes/Repository/DatabaseDocumentRepository.php b/components/ILIAS/LegalDocuments/classes/Repository/DatabaseDocumentRepository.php index c6670e1848b5..5eb57f029ec3 100755 --- a/components/ILIAS/LegalDocuments/classes/Repository/DatabaseDocumentRepository.php +++ b/components/ILIAS/LegalDocuments/classes/Repository/DatabaseDocumentRepository.php @@ -335,7 +335,10 @@ private function update(int $id, string $table, array $fields_and_values): void private function deleteEntry(string $table, int $id, string $doc_field, bool $cleanup = false): void { $id = $this->database->quote($id, ilDBConstants::T_INTEGER); - $this->database->manipulate("DELETE FROM $table WHERE id = $id AND " . $this->exists($table . '.' . $doc_field)); + $belongs_to_provider = $table === $this->documentTable() + ? 'provider = ' . $this->database->quote($this->id, ilDBConstants::T_TEXT) + : $this->exists($table . '.' . $doc_field); + $this->database->manipulate("DELETE FROM $table WHERE id = $id AND " . $belongs_to_provider); if ($cleanup) { $this->cleanupCriteria(); }