summaryrefslogtreecommitdiff
path: root/inc/media.php
diff options
context:
space:
mode:
authorAdrian Lang <dokuwiki@adrianlang.de>2011-02-06 12:51:09 +0100
committerAdrian Lang <dokuwiki@adrianlang.de>2011-02-06 12:55:53 +0100
commit87229c84afbda98679146558235bc7212ea404ee (patch)
tree737e207675c475ce8b1ab118a5e8f399d99be716 /inc/media.php
parent2343a762fb62ebed6ef140bca2d8b5aa4fa2983d (diff)
downloadrpg-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.php25
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;
}
/**