Spaces:
No application file
No application file
| namespace MauticPlugin\MauticClearbitBundle\Integration; | |
| use Mautic\CoreBundle\Form\Type\YesNoButtonGroupType; | |
| use Mautic\PluginBundle\Integration\AbstractIntegration; | |
| use Symfony\Component\Form\Form; | |
| use Symfony\Component\Form\FormBuilder; | |
| use Symfony\Component\Routing\Generator\UrlGeneratorInterface; | |
| class ClearbitIntegration extends AbstractIntegration | |
| { | |
| public function getName(): string | |
| { | |
| return 'Clearbit'; | |
| } | |
| /** | |
| * Return's authentication method such as oauth2, oauth1a, key, etc. | |
| */ | |
| public function getAuthenticationType(): string | |
| { | |
| return 'none'; | |
| } | |
| /** | |
| * Return array of key => label elements that will be converted to inputs to | |
| * obtain from the user. | |
| * | |
| * @return array<string, string> | |
| */ | |
| public function getRequiredKeyFields(): array | |
| { | |
| // Do not rename field. clearbit.js depends on it | |
| return [ | |
| 'apikey' => 'mautic.integration.clearbit.apikey', | |
| ]; | |
| } | |
| /** | |
| * @param FormBuilder|Form $builder | |
| * @param array $data | |
| * @param string $formArea | |
| */ | |
| public function appendToForm(&$builder, $data, $formArea): void | |
| { | |
| if ('keys' === $formArea) { | |
| $builder->add( | |
| 'auto_update', | |
| YesNoButtonGroupType::class, | |
| [ | |
| 'label' => 'mautic.plugin.clearbit.auto_update', | |
| 'data' => isset($data['auto_update']) && (bool) $data['auto_update'], | |
| 'attr' => [ | |
| 'tooltip' => 'mautic.plugin.clearbit.auto_update.tooltip', | |
| ], | |
| ] | |
| ); | |
| } | |
| } | |
| public function shouldAutoUpdate(): bool | |
| { | |
| $featureSettings = $this->getKeys(); | |
| return isset($featureSettings['auto_update']) && (bool) $featureSettings['auto_update']; | |
| } | |
| /** | |
| * @return string|array | |
| */ | |
| public function getFormNotes($section) | |
| { | |
| if ('custom' === $section) { | |
| return [ | |
| 'template' => '@MauticClearbit/Integration/form.html.twig', | |
| 'parameters' => [ | |
| 'mauticUrl' => $this->router->generate( | |
| 'mautic_plugin_clearbit_index', [], UrlGeneratorInterface::ABSOLUTE_URL | |
| ), | |
| ], | |
| ]; | |
| } | |
| return parent::getFormNotes($section); | |
| } | |
| } | |