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 /inc/media.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 'inc/media.php')
-rw-r--r-- | inc/media.php | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/inc/media.php b/inc/media.php index 69441352b..c63bea5a9 100644 --- a/inc/media.php +++ b/inc/media.php @@ -141,7 +141,7 @@ function media_metaform($id,$auth){ } /** - * Conveinience function to check if a media file is still in use + * Convenience function to check if a media file is still in use * * @author Michael Klier <chi@chimeric.de> */ @@ -160,19 +160,26 @@ function media_inuse($id) { } } +define('DOKU_MEDIA_DELETED', 1); +define('DOKU_MEDIA_NOT_AUTH', 2); +define('DOKU_MEDIA_INUSE', 4); +define('DOKU_MEDIA_EMPTY_NS', 8); + /** * Handles media file deletions * * If configured, checks for media references before deletion * * @author Andreas Gohr <andi@splitbrain.org> - * @return mixed false on error, true on delete or array with refs + * @return int One of: 0, + DOKU_MEDIA_DELETED, + DOKU_MEDIA_DELETED | DOKU_MEDIA_EMPTY_NS, + DOKU_MEDIA_NOT_AUTH, + DOKU_MEDIA_INUSE */ function media_delete($id,$auth){ - if($auth < AUTH_DELETE) return false; - if(!checkSecurityToken()) return false; - global $conf; - global $lang; + if($auth < AUTH_DELETE) return DOKU_MEDIA_NOT_AUTH; + if(media_inuse($id)) return DOKU_MEDIA_INUSE; $file = mediaFN($id); @@ -196,12 +203,10 @@ function media_delete($id,$auth){ unset($evt); if($data['unl'] && $data['del']){ - // current namespace was removed. redirecting to root ns passing msg along - send_redirect(DOKU_URL.'lib/exe/mediamanager.php?msg1='. - rawurlencode(sprintf(noNS($id),$lang['deletesucc']))); + return DOKU_MEDIA_DELETED | DOKU_MEDIA_EMPTY_NS; } - return $data['unl']; + return $data['unl'] ? DOKU_MEDIA_DELETED : 0; } /** |