16 import(
'lib.pkp.classes.form.Form');
46 parent::__construct(
$plugin->getTemplateResource(
'uploadImageForm.tpl'));
48 $this->
addCheck(
new FormValidator($this,
'temporaryFileId',
'required',
'manager.website.imageFileRequired'));
52 $this->context =
$request->getContext();
54 $this->submissionId =
$request->getUserVar(
'submissionId');
57 $this->submission = $submissionDao->getById(
$request->getUserVar(
'submissionId'), $this->context->getId(),
false);
58 $this->publication = $this->submission->getCurrentPublication();
68 return array(
'imageAltText');
76 $templateMgr->assign(
'submissionId', $this->submissionId);
79 $coverImage = $this->submission->getCoverImage($locale);
82 import(
'lib.pkp.classes.linkAction.LinkAction');
83 import(
'lib.pkp.classes.linkAction.request.RemoteActionConfirmationModal');
84 $router = $this->request->getRouter();
88 $this->request->getSession(),
89 __(
'common.confirmDelete'),
null,
90 $router->url($this->request,
null,
null,
'importexport', array(
'plugin',
'QuickSubmitPlugin',
'deleteCoverImage'), array(
91 'coverImage' => $coverImage,
92 'submissionId' => $this->submission->getId(),
93 'stageId' => WORKFLOW_STAGE_ID_PRODUCTION,
100 $templateMgr->assign(
'deleteCoverImageLinkAction', $deleteCoverImageLinkAction);
103 $this->
setData(
'coverImage', $coverImage);
104 $this->
setData(
'imageAltText', $this->submission->getCoverImageAltText($locale));
111 $this->
readUserVars(array(
'imageAltText',
'temporaryFileId'));
120 assert(
$request->getUserVar(
'coverImage') !=
'' &&
$request->getUserVar(
'submissionId') !=
'');
123 $file =
$request->getUserVar(
'coverImage');
127 $this->publication->setData(
'coverImage', []);
128 $publicationDao->updateObject($this->publication);
132 if ($publicFileManager->removeContextFile($this->submission->getContextId(), $file)) {
134 $json->setEvent(
'fileDeleted');
137 return new JSONMessage(
false, __(
'editor.article.removeCoverImageFileNotFound'));
150 $coverImage = $this->publication->getData(
'coverImage');
152 import(
'classes.file.PublicFileManager');
155 if (is_a($temporaryFile,
'TemporaryFile')) {
156 $type = $temporaryFile->getFileType();
157 $extension = $publicFileManager->getImageExtension($type);
163 $newFileName =
'article_' . $this->submissionId .
'_cover_' . $locale . $publicFileManager->getImageExtension($temporaryFile->getFileType());
165 if ($publicFileManager->copyContextFile($this->context->getId(), $temporaryFile->getFilePath(), $newFileName)) {
167 $this->publication->setData(
'coverImage', [
168 'altText' => $this->
getData(
'imageAltText'),
169 'uploadName' => $newFileName,
171 $publicationDao->updateObject($this->publication);
178 } elseif ($coverImage) {
179 $coverImage = $this->publication->getData(
'coverImage');
180 $coverImage[$locale][
'altText'] = $this->
getData(
'imageAltText');
181 $this->publication->setData(
'coverImage', $coverImage);
182 $publicationDao->updateObject($this->publication);
185 return new JSONMessage(
false, __(
'common.uploadFailed'));
202 $this->_fileSettingName = $fileSettingName;
213 function fetch(
$request, $template =
null, $display =
false, $params =
null) {
215 $templateMgr->assign(array(
217 'fileType' =>
'image',
220 return parent::fetch(
$request, $template, $display);
236 $temporaryFile = $temporaryFileDao->getTemporaryFile(
237 $this->
getData(
'temporaryFileId'),
240 return $temporaryFile;
250 import(
'lib.pkp.classes.file.TemporaryFileManager');
252 $temporaryFileManager->deleteById($this->
getData(
'temporaryFileId'), $user->getId());
262 import(
'lib.pkp.classes.file.TemporaryFileManager');
264 $temporaryFile = $temporaryFileManager->handleUpload(
'uploadedFile', $user->getId());
266 if ($temporaryFile)
return $temporaryFile->getId();