Open Journal Systems  3.3.0
PKPAnnouncementForm.inc.php
1 <?php
15 use \PKP\components\forms\FormComponent;
16 use \PKP\components\forms\FieldOptions;
17 use \PKP\components\forms\FieldText;
18 use \PKP\components\forms\FieldRichTextarea;
19 
20 define('FORM_ANNOUNCEMENT', 'announcement');
21 
25 
27  public $method = 'POST';
28 
36  public function __construct($action, $locales, $announcementContext) {
37  $this->action = $action;
38  $this->locales = $locales;
39 
40  $this->addField(new FieldText('title', [
41  'label' => __('common.title'),
42  'size' => 'large',
43  'isMultilingual' => true,
44  ]))
45  ->addField(new FieldRichTextarea('descriptionShort', [
46  'label' => __('manager.announcements.form.descriptionShort'),
47  'description' => __('manager.announcements.form.descriptionShortInstructions'),
48  'isMultilingual' => true,
49  ]))
50  ->addField(new FieldRichTextarea('description', [
51  'label' => __('manager.announcements.form.description'),
52  'description' => __('manager.announcements.form.descriptionInstructions'),
53  'isMultilingual' => true,
54  'size' => 'large',
55  'toolbar' => 'bold italic superscript subscript | link | blockquote bullist numlist',
56  'plugins' => 'paste,link,lists',
57  ]))
58  ->addField(new FieldText('dateExpire', [
59  'label' => __('manager.announcements.form.dateExpire'),
60  'description' => __('manager.announcements.form.dateExpireInstructions'),
61  'size' => 'small',
62  ]));
63 
64  $announcementTypeDAO = \DAORegistry::getDAO('AnnouncementTypeDAO');
65  $announcementTypesFactory = $announcementTypeDAO->getByAssoc(\Application::get()->getContextAssocType(), $announcementContext->getId());
66  if (!$announcementTypesFactory->wasEmpty) {
67  $announcementOptions = [];
68  while ($announcementType = $announcementTypesFactory->next()) {
69  $announcementOptions[] = [
70  'value' => (int) $announcementType->getId(),
71  'label' => $announcementType->getLocalizedTypeName(),
72  ];
73  }
74  $this->addField(new FieldOptions('typeId', [
75  'label' => __('manager.announcementTypes.typeName'),
76  'type' => 'radio',
77  'options' => $announcementOptions,
78  ]));
79  }
80 
81  $this->addField(new FieldOptions('sendEmail', [
82  'label' => __('common.sendEmail'),
83  'options' => [
84  [
85  'value' => true,
86  'label' => __('notification.sendNotificationConfirmation')
87  ]
88  ]
89  ]));
90  }
91 }
PKP\components\forms\announcement\PKPAnnouncementForm
Definition: PKPAnnouncementForm.inc.php:22
PKP\components\forms\announcement\FORM_ANNOUNCEMENT
const FORM_ANNOUNCEMENT
Definition: PKPAnnouncementForm.inc.php:20
PKP\components\forms\FieldOptions
Definition: FieldOptions.inc.php:15
PKP\components\forms\FieldRichTextarea
Definition: FieldRichTextarea.inc.php:15
PKP\components\forms\FieldText
Definition: FieldText.inc.php:15
DAORegistry\getDAO
static & getDAO($name, $dbconn=null)
Definition: DAORegistry.inc.php:57
PKP\components\forms\announcement
Definition: PKPAnnouncementForm.inc.php:14
PKP\components\forms\FormComponent\$action
$action
Definition: FormComponent.inc.php:37
PKP\components\forms\announcement\PKPAnnouncementForm\__construct
__construct($action, $locales, $announcementContext)
Definition: PKPAnnouncementForm.inc.php:36
PKP\components\forms\FormComponent
Definition: FormComponent.inc.php:20
PKP\components\forms\announcement\PKPAnnouncementForm\$id
$id
Definition: PKPAnnouncementForm.inc.php:24
PKP\components\forms\FormComponent\addField
addField($field, $position=[])
Definition: FormComponent.inc.php:94
PKP\components\forms\FormComponent\$locales
$locales
Definition: FormComponent.inc.php:43
PKPApplication\get
static get()
Definition: PKPApplication.inc.php:235
PKP\components\forms\announcement\PKPAnnouncementForm\$method
$method
Definition: PKPAnnouncementForm.inc.php:27