diff --git a/cms/tinymce_dms.php b/cms/tinymce_dms.php index 2d940d92d..e21e69c02 100644 --- a/cms/tinymce_dms.php +++ b/cms/tinymce_dms.php @@ -347,40 +347,16 @@ if(isset($_REQUEST['delete'])) // DB Eintrag löschen if(!$dms->deleteVersion($dms_id, $version)) echo ''.$dms->errormsg.''; - else - { - // File im Filesystem löschen - if(unlink(DMS_PATH.$dms->filename)) - echo 'Erfolgreich gelöscht!'; - else - echo 'Fehler beim löschen aus dem Filesystem aufgetreten!'; - } - }else + } + else { // lösche gesamten Eintrag + $dms = new dms(); $dms_id = $_REQUEST['dms_id']; - $dms = new dms(); - $error = false; - - $dms->getAllVersions($dms_id); - - // DB Einträge löschen + // DB Einträge und Dokumente löschen if(!$dms->deleteDms($dms_id)) echo ''.$dms->errormsg.''; - else - { - // Alle Versionen der Datei vom Filesystem löschen - foreach($dms->result as $obj) - { - if(is_file(DMS_PATH.$obj->filename) && !unlink(DMS_PATH.$obj->filename)) - $error = true; - } - if($error) - echo 'Fehler beim löschen aus dem Filesystem aufgetreten!'; - else - echo 'Erfolgreich gelöscht!'; - } } } diff --git a/include/dms.class.php b/include/dms.class.php index 1e04a9570..08f28c997 100644 --- a/include/dms.class.php +++ b/include/dms.class.php @@ -220,6 +220,9 @@ class dms extends basis_db */ public function deleteVersion($dms_id, $version) { + $dms = new dms(); + $dms->load($dms_id, $version); + $qry ="DELETE FROM campus.tbl_dms_version WHERE dms_id = ".$this->db_add_param($dms_id, FHC_INTEGER)." and version =".$this->db_add_param($version, FHC_INTEGER).';'; if($this->db_query($qry)) @@ -227,13 +230,20 @@ class dms extends basis_db $qry_anzahl ="SELECT 1 FROM campus.tbl_dms_version WHERE dms_id =".$this->db_add_param($dms_id, FHC_INTEGER).';'; if($result = $this->db_query($qry_anzahl)) { - // Wenn letzte Version gelöscht wurde -> lösche gesamten Eintrag + // File der Version im Filesystem löschen + if(is_file(DMS_PATH.$dms->filename) && !unlink(DMS_PATH.$dms->filename)) + { + $this->errormsg = "Fehler beim Löschen des Dokuments aufgetreten"; + return false; + } + + // Wenn letzte Version gelöscht wurde -> lösche gesamten Eintrag if($this->db_num_rows($result) == 0 ) { if(!$this->deleteDms($dms_id)) { $this->errormsg = "Fehler beim Löschen aufgetreten"; - return false; + return false; } else return true;