summaryrefslogtreecommitdiff
path: root/inc/media.php
diff options
context:
space:
mode:
authorMichal Kolodziejski <M.Kolodziejski@net.icm.edu.pl>2008-10-01 20:10:02 +0200
committerMichal Kolodziejski <M.Kolodziejski@net.icm.edu.pl>2008-10-01 20:10:02 +0200
commit4a961e72f572dfd45a10c978f03cd467600ddd89 (patch)
tree69feedf47db74cac4847649dbba5fcabcc80cdc3 /inc/media.php
parentdc58b6f4952c9a966ba23101144f00d378746a17 (diff)
downloadrpg-4a961e72f572dfd45a10c978f03cd467600ddd89.tar.gz
rpg-4a961e72f572dfd45a10c978f03cd467600ddd89.tar.bz2
wrap media file deletion in MEDIA_DELETE_FILE event
darcs-hash:20081001181002-90c8c-6cac9e589f510a0a590d57a699669bc68e111ff9.gz
Diffstat (limited to 'inc/media.php')
-rw-r--r--inc/media.php29
1 files changed, 20 insertions, 9 deletions
diff --git a/inc/media.php b/inc/media.php
index 43d8539c4..8a18e8b2e 100644
--- a/inc/media.php
+++ b/inc/media.php
@@ -163,17 +163,28 @@ function media_delete($id,$auth){
if(!count($mediareferences)){
$file = mediaFN($id);
- if(@unlink($file)){
- msg(str_replace('%s',noNS($id),$lang['deletesucc']),1);
- $del = io_sweepNS($id,'mediadir');
- if($del){
- // current namespace was removed. redirecting to root ns passing msg along
- header('Location: '.DOKU_URL.'lib/exe/mediamanager.php?msg1='.
- rawurlencode(str_replace('%s',noNS($id),$lang['deletesucc'])));
- exit;
+
+ // trigger an event - MEDIA_DELETE_FILE
+ $data['name'] = basename($file);
+ $data['path'] = $file;
+ $data['size'] = (@file_exists($file)) ? filesize($file) : 0;
+ $evt = new Doku_Event('MEDIA_DELETE_FILE',$data);
+ if ($evt->advise_before()) {
+ if(@unlink($file)){
+ msg(str_replace('%s',noNS($id),$lang['deletesucc']),1);
+ $del = io_sweepNS($id,'mediadir');
+ if($del){
+ // current namespace was removed. redirecting to root ns passing msg along
+ header('Location: '.DOKU_URL.'lib/exe/mediamanager.php?msg1='.
+ rawurlencode(str_replace('%s',noNS($id),$lang['deletesucc'])));
+ exit;
+ }
+ return true;
}
- return true;
}
+ $evt->advise_after();
+ unset($evt);
+
//something went wrong
msg(str_replace('%s',$file,$lang['deletefail']),-1);
return false;