![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/mautic.corals.io/app/bundles/NotificationBundle/Integration/ |
<?php namespace Mautic\NotificationBundle\Integration; use Mautic\PluginBundle\Integration\AbstractIntegration; use Symfony\Component\Form\Extension\Core\Type\ChoiceType; use Symfony\Component\Form\Extension\Core\Type\TextType; use Symfony\Component\Form\FormBuilder; class OneSignalIntegration extends AbstractIntegration { protected bool $coreIntegration = true; public function getName(): string { return 'OneSignal'; } public function getIcon(): string { return 'app/bundles/NotificationBundle/Assets/img/OneSignal.png'; } public function getSupportedFeatures(): array { return [ 'mobile', 'landing_page_enabled', 'welcome_notification_enabled', 'tracking_page_enabled', ]; } public function getSupportedFeatureTooltips(): array { return [ 'landing_page_enabled' => 'mautic.integration.form.features.landing_page_enabled.tooltip', 'tracking_page_enabled' => 'mautic.integration.form.features.tracking_page_enabled.tooltip', ]; } /** * @return array<string, string> */ public function getRequiredKeyFields(): array { return [ 'app_id' => 'mautic.notification.config.form.notification.app_id', 'safari_web_id' => 'mautic.notification.config.form.notification.safari_web_id', 'rest_api_key' => 'mautic.notification.config.form.notification.rest_api_key', 'gcm_sender_id' => 'mautic.notification.config.form.notification.gcm_sender_id', ]; } public function getAuthenticationType(): string { return 'none'; } /** * @param \Mautic\PluginBundle\Integration\Form|FormBuilder $builder * @param array $data * @param string $formArea */ public function appendToForm(&$builder, $data, $formArea): void { if ('features' == $formArea) { /* @var FormBuilder $builder */ $builder->add( 'subdomain_name', TextType::class, [ 'label' => 'mautic.notification.form.subdomain_name.label', 'required' => false, 'attr' => [ 'class' => 'form-control', ], ] ); $builder->add( 'platforms', ChoiceType::class, [ 'choices' => [ 'mautic.integration.form.platforms.ios' => 'ios', 'mautic.integration.form.platforms.android' => 'android', ], 'attr' => [ 'tooltip' => 'mautic.integration.form.platforms.tooltip', 'data-show-on' => '{"integration_details_supportedFeatures_0":"checked"}', ], 'expanded' => true, 'multiple' => true, 'label' => 'mautic.integration.form.platforms', 'placeholder' => false, 'required' => false, ] ); } } }