diff options
author | Adrian Lang <dokuwiki@adrianlang.de> | 2011-02-06 12:51:09 +0100 |
---|---|---|
committer | Adrian Lang <dokuwiki@adrianlang.de> | 2011-02-06 12:55:53 +0100 |
commit | 87229c84afbda98679146558235bc7212ea404ee (patch) | |
tree | 737e207675c475ce8b1ab118a5e8f399d99be716 /lib/exe/mediamanager.php | |
parent | 2343a762fb62ebed6ef140bca2d8b5aa4fa2983d (diff) | |
download | rpg-87229c84afbda98679146558235bc7212ea404ee.tar.gz rpg-87229c84afbda98679146558235bc7212ea404ee.tar.bz2 |
XML-RPC deleteAttachment now uses media_delete
Functionality changes:
* deleteAttachment now triggers MEDIA_DELETE_FILE (closes FS#1568)
* deletion success msg in mediamanager is correct, even when the ns dir
was deleted
* media_delete changed quite a bit
Diffstat (limited to 'lib/exe/mediamanager.php')
-rw-r--r-- | lib/exe/mediamanager.php | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/lib/exe/mediamanager.php b/lib/exe/mediamanager.php index c79a25c08..6f2add2be 100644 --- a/lib/exe/mediamanager.php +++ b/lib/exe/mediamanager.php @@ -82,18 +82,24 @@ // handle deletion if($DEL) { - $INUSE = media_inuse($DEL); - if(!$INUSE) { - if(media_delete($DEL,$AUTH)) { - msg(sprintf($lang['deletesucc'],noNS($DEL)),1); - } else { - msg(sprintf($lang['deletefail'],noNS($DEL)),-1); + $res = 0; + if(checkSecurityToken()) { + $res = media_delete($DEL,$AUTH); + } + if ($res & DOKU_MEDIA_DELETED) { + $msg = sprintf($lang['deletesucc'], noNS($DEL)); + if ($res & DOKU_MEDIA_EMPTY_NS) { + // current namespace was removed. redirecting to root ns passing msg along + send_redirect(DOKU_URL.'lib/exe/mediamanager.php?msg1='. + rawurlencode($msg)); } - } else { + msg($msg,1); + } elseif ($res & DOKU_MEDIA_INUSE) { if(!$conf['refshow']) { - unset($INUSE); msg(sprintf($lang['mediainuse'],noNS($DEL)),0); } + } else { + msg(sprintf($lang['deletefail'],noNS($DEL)),-1); } } |