Open Journal Systems  3.3.0
AccessForm.inc.php
1 <?php
16 use \PKP\components\forms\FormComponent;
17 use \PKP\components\forms\FieldSelect;
18 use \PKP\components\forms\FieldOptions;
19 
20 define('FORM_ACCESS', 'access');
21 define('SUBSCRIPTION_OPEN_ACCESS_DELAY_MIN', '1');
22 define('SUBSCRIPTION_OPEN_ACCESS_DELAY_MAX', '60');
23 
24 class AccessForm extends FormComponent {
26  public $id = FORM_ACCESS;
27 
29  public $method = 'PUT';
30 
38  public function __construct($action, $locales, $context) {
39  $this->action = $action;
40  $this->locales = $locales;
41 
42  $validDelayedOpenAccessDuration[] = ['value' => 0, 'label' => __('common.disabled')];
44  $validDelayedOpenAccessDuration[] = [
45  'value' => $i,
46  'label' => __('manager.subscriptionPolicies.xMonths', array('x' => $i)),
47  ];
48  }
49 
50  $this->addField(new FieldOptions('publishingMode', [
51  'label' => __('manager.distribution.publishingMode'),
52  'type' => 'radio',
53  'options' => [
54  ['value' => PUBLISHING_MODE_OPEN, 'label' => __('manager.distribution.publishingMode.openAccess')],
55  ['value' => PUBLISHING_MODE_SUBSCRIPTION, 'label' => __('manager.distribution.publishingMode.subscription')],
56  ['value' => PUBLISHING_MODE_NONE, 'label' => __('manager.distribution.publishingMode.none')],
57  ],
58  'value' => $context->getData('publishingMode'),
59  ]))
60  ->addField(new FieldSelect('delayedOpenAccessDuration', [
61  'label' => __('about.delayedOpenAccess'),
62  'options' => $validDelayedOpenAccessDuration,
63  'value' => $context->getData('delayedOpenAccessDuration'),
64  'showWhen' => ['publishingMode', PUBLISHING_MODE_SUBSCRIPTION],
65  ]))
66  ->addField(new FieldOptions('enableOai', [
67  'label' => __('manager.setup.enableOai'),
68  'description' => __('manager.setup.enableOai.description'),
69  'type' => 'radio',
70  'options' => [
71  ['value' => true, 'label' => __('common.enable')],
72  ['value' => false, 'label' => __('common.disable')],
73  ],
74  'value' => $context->getData('enableOai'),
75  ]));
76  }
77 }
PKP\components\forms\FieldOptions
Definition: FieldOptions.inc.php:15
APP\components\forms\context\AccessForm\$method
$method
Definition: AccessForm.inc.php:29
APP\components\forms\context\AccessForm
Definition: AccessForm.inc.php:24
APP\components\forms\context\SUBSCRIPTION_OPEN_ACCESS_DELAY_MAX
const SUBSCRIPTION_OPEN_ACCESS_DELAY_MAX
Definition: AccessForm.inc.php:22
APP\components\forms\context
Definition: AccessForm.inc.php:15
PKP\components\forms\FormComponent\$action
$action
Definition: FormComponent.inc.php:37
PKP\components\forms\FormComponent
Definition: FormComponent.inc.php:20
APP\components\forms\context\AccessForm\__construct
__construct($action, $locales, $context)
Definition: AccessForm.inc.php:38
APP\components\forms\context\FORM_ACCESS
const FORM_ACCESS
Definition: AccessForm.inc.php:20
APP\components\forms\context\SUBSCRIPTION_OPEN_ACCESS_DELAY_MIN
const SUBSCRIPTION_OPEN_ACCESS_DELAY_MIN
Definition: AccessForm.inc.php:21
PKP\components\forms\FormComponent\addField
addField($field, $position=[])
Definition: FormComponent.inc.php:94
PKP\components\forms\FormComponent\$locales
$locales
Definition: FormComponent.inc.php:43
PKP\components\forms\FieldSelect
Definition: FieldSelect.inc.php:15
APP\components\forms\context\AccessForm\$id
$id
Definition: AccessForm.inc.php:26