chrisbryan17's picture
Upload folder using huggingface_hub
d2897cd verified
<?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,
]
);
}
}
}