67 lines
1.8 KiB
PHP
67 lines
1.8 KiB
PHP
<?php
|
|
/**
|
|
* @file classes/components/fileAttachers/Library.php
|
|
*
|
|
* Copyright (c) 2014-2022 Simon Fraser University
|
|
* Copyright (c) 2000-2022 John Willinsky
|
|
* Distributed under the GNU GPL v3. For full terms see the file docs/COPYING.
|
|
*
|
|
* @class Library
|
|
*
|
|
* @ingroup classes_controllers_form
|
|
*
|
|
* @brief A class to compile initial state for a FileAttacherLibrary component.
|
|
*/
|
|
|
|
namespace PKP\components\fileAttachers;
|
|
|
|
use APP\core\Application;
|
|
use APP\submission\Submission;
|
|
use PKP\context\Context;
|
|
|
|
class Library extends BaseAttacher
|
|
{
|
|
public string $component = 'FileAttacherLibrary';
|
|
public Context $context;
|
|
public Submission $submission;
|
|
|
|
/**
|
|
* Initialize this file attacher
|
|
*
|
|
*/
|
|
public function __construct(Context $context, ?Submission $submission = null)
|
|
{
|
|
parent::__construct(
|
|
__('email.addAttachment.libraryFiles'),
|
|
__('email.addAttachment.libraryFiles.description'),
|
|
__('email.addAttachment.libraryFiles.attach')
|
|
);
|
|
$this->context = $context;
|
|
$this->submission = $submission;
|
|
}
|
|
|
|
/**
|
|
* Compile the props for this file attacher
|
|
*/
|
|
public function getState(): array
|
|
{
|
|
$props = parent::getState();
|
|
|
|
$request = Application::get()->getRequest();
|
|
$props['libraryApiUrl'] = $request->getDispatcher()->url(
|
|
$request,
|
|
Application::ROUTE_API,
|
|
$this->context->getData('urlPath'),
|
|
'_library'
|
|
);
|
|
if ($this->submission) {
|
|
$props['includeSubmissionId'] = $this->submission->getId();
|
|
}
|
|
$props['attachSelectedLabel'] = __('common.attachSelected');
|
|
$props['backLabel'] = __('common.back');
|
|
$props['downloadLabel'] = __('common.download');
|
|
|
|
return $props;
|
|
}
|
|
}
|