/** * Delete an uploaded file. * @param $fileSettingName string * @param $request PKPRequest * @return boolean */ function deleteFile($fileSettingName, $request) { $context = $request->getContext(); $locale = AppLocale::getLocale(); // Get the file. $file = $this->getData($fileSettingName); // Check if the file is localized. if (key_exists($locale, $file)) { // We use the current localized file value. $file = $file[$locale]; } else { $locale = null; } // Deletes the file and its settings. import('classes.file.PublicFileManager'); $publicFileManager = new PublicFileManager(); if ($publicFileManager->removeContextFile($context->getAssocType(), $context->getId(), $file['uploadName'])) { $settingsDao = $context->getSettingsDao(); $settingsDao->deleteSetting($context->getId(), $fileSettingName, $locale); return true; } else { return false; } }