Initial commit: CloudOps infrastructure platform
This commit is contained in:
@@ -0,0 +1,102 @@
|
||||
<?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,
|
||||
]
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user