addRoleAssignment( [Role::ROLE_ID_MANAGER, Role::ROLE_ID_SITE_ADMIN], ['uploadImage'] ); } /** * @copydoc PKPHandler::authorize() * * @param bool $contextRequired */ public function authorize($request, &$args, $roleAssignments, $contextRequired = true) { if ($contextRequired) { $this->addPolicy(new ContextAccessPolicy($request, $roleAssignments)); } return parent::authorize($request, $args, $roleAssignments); } /** * Handle file uploads for cover/image art for things like Series and Categories. * * @param array $args * @param PKPRequest $request */ public function uploadImage($args, $request) { $router = $request->getRouter(); $context = $request->getContext(); $user = $request->getUser(); $temporaryFileManager = new TemporaryFileManager(); $temporaryFile = $temporaryFileManager->handleUpload('uploadedFile', $user->getId()); if ($temporaryFile) { $json = new JSONMessage(true); $json->setAdditionalAttributes([ 'temporaryFileId' => $temporaryFile->getId() ]); return $json; } else { return new JSONMessage(false, __('common.uploadFailed')); } } }