/**
* Delete an uploaded file & its media record.
*
* @param int $MediaID Unique ID on Media table.
*/
protected function trashFile($MediaID)
{
$Media = $this->mediaModel()->getID($MediaID);
if ($Media) {
$this->mediaModel()->delete($Media);
$Deleted = false;
// Allow interception
$this->EventArguments['Parsed'] = Gdn_Upload::parse($Media->Path);
$this->EventArguments['Handled'] =& $Deleted;
// Allow skipping steps below
$this->fireEvent('TrashFile');
if (!$Deleted) {
$DirectPath = MediaModel::pathUploads() . DS . $Media->Path;
if (file_exists($DirectPath)) {
$Deleted = @unlink($DirectPath);
}
}
if (!$Deleted) {
$CalcPath = FileUploadPlugin::findLocalMedia($Media, true, true);
if (file_exists($CalcPath)) {
@unlink($CalcPath);
}
}
}
}