function activity_send_push_notification_form_user_form_alter in Open Social 8.8
Same name and namespace in other branches
- 8.9 modules/custom/activity_send/modules/activity_send_push_notification/activity_send_push_notification.module \activity_send_push_notification_form_user_form_alter()
- 8.7 modules/custom/activity_send/modules/activity_send_push_notification/activity_send_push_notification.module \activity_send_push_notification_form_user_form_alter()
- 10.3.x modules/custom/activity_send/modules/activity_send_push_notification/activity_send_push_notification.module \activity_send_push_notification_form_user_form_alter()
- 10.0.x modules/custom/activity_send/modules/activity_send_push_notification/activity_send_push_notification.module \activity_send_push_notification_form_user_form_alter()
- 10.1.x modules/custom/activity_send/modules/activity_send_push_notification/activity_send_push_notification.module \activity_send_push_notification_form_user_form_alter()
- 10.2.x modules/custom/activity_send/modules/activity_send_push_notification/activity_send_push_notification.module \activity_send_push_notification_form_user_form_alter()
Implements hook_form_FORM_ID_alter().
File
- modules/
custom/ activity_send/ modules/ activity_send_push_notification/ activity_send_push_notification.module, line 14 - The Activity Send Push Notification module.
Code
function activity_send_push_notification_form_user_form_alter(&$form, FormStateInterface $form_state, $form_id) {
if ($form_id === 'user_register_form') {
return;
}
/** @var \Drupal\Component\Plugin\PluginManagerInterface $service */
$service = \Drupal::service('plugin.manager.push');
$plugin_forms = [];
foreach ($service
->getDefinitions() as $plugin_id => $definition) {
/** @var \Drupal\activity_send_push_notification\PushInterface $plugin */
$plugin = $service
->createInstance($plugin_id);
if ($plugin
->access()) {
$plugin_forms[$plugin_id] = [
'#type' => 'details',
'#title' => '<h5>' . $definition['title'] . '</h5>',
'#attributes' => [
'class' => [
'form-fieldset',
],
],
'#prefix' => $definition['description'],
] + $plugin
->buildForm();
}
}
if (!$plugin_forms) {
return;
}
$form['push_notifications'] = [
'#type' => 'fieldset',
'#title' => t('Push notifications'),
'#tree' => TRUE,
'#attributes' => [
'class' => [
'form-horizontal',
],
],
];
$form['push_notifications'] = $form['push_notifications'] + $plugin_forms;
$form['actions']['submit']['#submit'][] = [
PushManager::class,
'submitForm',
];
}