diff --git a/cms/tinymce_dms.php b/cms/tinymce_dms.php
index 2d78355cf..441a2b183 100644
--- a/cms/tinymce_dms.php
+++ b/cms/tinymce_dms.php
@@ -22,8 +22,12 @@
require_once('../config/cis.config.inc.php');
require_once('../include/functions.inc.php');
require_once('../include/dms.class.php');
+require_once('../include/benutzerberechtigung.class.php');
$user = get_uid();
+$rechte = new benutzerberechtigung();
+$rechte->getBerechtigungen($user);
+
?>
@@ -312,8 +316,12 @@ if(isset($_POST['action']) && $_POST['action']=='rename')
else
echo 'Fehler beim Laden des Eintrages';
}
+
if(isset($_REQUEST['delete']))
{
+ if(!$rechte->isberechtigt('basis/dms',null, 'sui', null))
+ die('Sie haben keine Berechtigung diese Seite zu sehen.');
+
// lösche nur die Version
if(isset($_REQUEST['version']))
{
@@ -321,16 +329,45 @@ if(isset($_REQUEST['delete']))
$version = $_REQUEST['version'];
$dms = new dms();
+ $dms->load($dms_id, $version);
+
+ // 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
{
// lösche gesamten Eintrag
$dms_id = $_REQUEST['dms_id'];
$dms = new dms();
+ $error = false;
+
+ $dms->getAllVersions($dms_id);
+
+ // DB Einträge 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(!unlink(DMS_PATH.$obj->filename))
+ $error = true;
+ }
+ if($error)
+ echo 'Fehler beim löschen aus dem Filesystem aufgetreten!';
+ else
+ echo 'Erfolgreich gelöscht!';
+ }
}
}