Open Journal Systems  3.3.0
PKPPaymentSettingsForm.inc.php
1 <?php
15 use \PKP\components\forms\FormComponent;
16 use \PKP\components\forms\FieldOptions;
17 use \PKP\components\forms\FieldSelect;
18 
19 define('FORM_PAYMENT_SETTINGS', 'paymentSettings');
20 
24 
26  public $method = 'PUT';
27 
35  public function __construct($action, $locales, $context) {
36  $this->action = $action;
37  $this->locales = $locales;
38 
39  $currencies = [];
40  $isoCodes = new \Sokil\IsoCodes\IsoCodesFactory();
41  foreach ($isoCodes->getCurrencies() as $currency) {
42  $currencies[] = [
43  'value' => $currency->getLetterCode(),
44  'label' => $currency->getLocalName(),
45  ];
46  }
47 
48  // Ensure payment method plugins can hook in
49  $paymentPlugins = \PluginRegistry::loadCategory('paymethod', true);
50  $pluginList = array();
51  foreach ($paymentPlugins as $plugin) {
52  $pluginList[] = [
53  'value' => $plugin->getName(),
54  'label' => $plugin->getDisplayName(),
55  ];
56  }
57 
58  $this->addGroup([
59  'id' => 'setup',
60  'label' => __('navigation.setup'),
61  ])
62  ->addField(new FieldOptions('paymentsEnabled', [
63  'label' => __('common.enable'),
64  'options' => [
65  ['value' => true, 'label' => __('manager.payment.options.enablePayments')]
66  ],
67  'value' => (bool) $context->getData('paymentsEnabled'),
68  'groupId' => 'setup',
69  ]))
70  ->addField(new FieldSelect('currency', [
71  'label' => __('manager.paymentMethod.currency'),
72  'options' => $currencies,
73  'showWhen' => 'paymentsEnabled',
74  'value' => $context->getData('currency'),
75  'groupId' => 'setup',
76  ]))
77  ->addField(new FieldSelect('paymentPluginName', [
78  'label' => __('plugins.categories.paymethod'),
79  'options' => $pluginList,
80  'showWhen' => 'paymentsEnabled',
81  'value' => $context->getData('paymentPluginName'),
82  'groupId' => 'setup',
83  ]));
84  }
85 }
PKP\components\forms\FieldOptions
Definition: FieldOptions.inc.php:15
PKP\components\forms\FormComponent\addGroup
addGroup($args, $position=[])
Definition: FormComponent.inc.php:145
PKP\components\forms\context\FORM_PAYMENT_SETTINGS
const FORM_PAYMENT_SETTINGS
Definition: PKPPaymentSettingsForm.inc.php:19
PKP\components\forms\context
Definition: PKPAnnouncementSettingsForm.inc.php:14
PKP\components\forms\context\PKPPaymentSettingsForm\$method
$method
Definition: PKPPaymentSettingsForm.inc.php:26
PKP\components\forms\context\PKPPaymentSettingsForm\$id
$id
Definition: PKPPaymentSettingsForm.inc.php:23
PKP\components\forms\FormComponent\$action
$action
Definition: FormComponent.inc.php:37
PluginRegistry\loadCategory
static loadCategory($category, $enabledOnly=false, $mainContextId=null)
Definition: PluginRegistry.inc.php:103
PKP\components\forms\FormComponent
Definition: FormComponent.inc.php:20
PKP\components\forms\context\PKPPaymentSettingsForm\__construct
__construct($action, $locales, $context)
Definition: PKPPaymentSettingsForm.inc.php:35
PKP\components\forms\context\PKPPaymentSettingsForm
Definition: PKPPaymentSettingsForm.inc.php:21
PKP\components\forms\FormComponent\$locales
$locales
Definition: FormComponent.inc.php:43
PKP\components\forms\FieldSelect
Definition: FieldSelect.inc.php:15