public function run()
 {
     $entityID = CRM_Utils_Request::retrieve('entityID', 'Positive', CRM_Core_DAO::$_nullObject, TRUE);
     $fileID = CRM_Utils_Request::retrieve('fileID', 'Positive', CRM_Core_DAO::$_nullObject, TRUE);
     $file = false;
     if (is_numeric($fileID)) {
         $file = civicrm_api3('File', 'getsingle', array('id' => $fileID));
     }
     try {
         CRM_Core_BAO_File::deleteAttachment();
     } catch (Exception $e) {
         return null;
     }
     //Do the backend-service delete
     if ($file && !empty($file['description'])) {
         $details = json_decode($file['description']);
         if ($details && property_exists($details, "source") && $details->source == "securefiles") {
             //Check extension level permissions
             CRM_Securefiles_Permission::checkFilePerms(CRM_Core_Action::DELETE, $fileID, $entityID);
             $backendService = CRM_Securefiles_Backend::getBackendService();
             if ($backendService) {
                 //Check backend service permissions
                 if ($backendService->checkPermissions(CRM_Core_Action::DELETE, $fileID, $entityID) !== false) {
                     $backendService->deleteFile($file['uri'], $entityID);
                 }
             }
         }
     }
 }