diff options
author | Michal Kolodziejski <M.Kolodziejski@net.icm.edu.pl> | 2008-10-01 20:10:02 +0200 |
---|---|---|
committer | Michal Kolodziejski <M.Kolodziejski@net.icm.edu.pl> | 2008-10-01 20:10:02 +0200 |
commit | 4a961e72f572dfd45a10c978f03cd467600ddd89 (patch) | |
tree | 69feedf47db74cac4847649dbba5fcabcc80cdc3 | |
parent | dc58b6f4952c9a966ba23101144f00d378746a17 (diff) | |
download | rpg-4a961e72f572dfd45a10c978f03cd467600ddd89.tar.gz rpg-4a961e72f572dfd45a10c978f03cd467600ddd89.tar.bz2 |
wrap media file deletion in MEDIA_DELETE_FILE event
darcs-hash:20081001181002-90c8c-6cac9e589f510a0a590d57a699669bc68e111ff9.gz
-rw-r--r-- | inc/media.php | 29 |
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; |