8000 merged arjenjb/swift-antiflood-plugin · DerekRoth/symfony@ce4a49d · GitHub
[go: up one dir, main page]

Skip to content

Commit ce4a49d

Browse files
committed
merged arjenjb/swift-antiflood-plugin
2 parents 6711a18 + 59b4b67 commit ce4a49d

File tree

3 files changed

+27
-1
lines changed

3 files changed

+27
-1
lines changed

src/Symfony/Bundle/SwiftmailerBundle/DependencyInjection/Configuration.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,12 @@ public function getConfigTreeBuilder()
8181
->end()
8282
->end()
8383
->scalarNode('sender_address')->end()
84+
->arrayNode('antiflood')
85+
->children()
86+
->scalarNode('treshold')->defaultValue(99)->end()
87+
->scalarNode('sleep')->defaultValue(0)->end()
88+
->end()
89+
->end()
8490
->scalarNode('delivery_address')->end()
8591
->booleanNode('disable_delivery')->end()
8692
->booleanNode('logging')->defaultValue($this->debug)->end()

src/Symfony/Bundle/SwiftmailerBundle/DependencyInjection/SwiftmailerExtension.php

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,20 @@ public function load(array $configs, ContainerBuilder $container)
9090
}
9191
}
9292
$container->setParameter('swiftmailer.spool.enabled', isset($config['spool']));
93-
93+
94+
// antiflood?
95+
if (isset($config['antiflood'])) {
96+
foreach (array('treshold', 'sleep') as $key) {
97+
$container->setParameter('swiftmailer.antiflood.'.$key, $config['antiflood'][$key]);
98+
}
99+
100+
$container->findDefinition('swiftmailer.transport')->addMethodCall('registerPlugin', array(new Reference('swiftmailer.plugin.antiflood')));
101+
} else {
102+
foreach (array('treshold', 'sleep') as $key) {
103+
$container->setParameter('swiftmailer.antiflood.'.$key, null);
104+
}
105+
}
106+
94107
if ($config['logging']) {
95108
$container->findDefinition('swiftmailer.transport')->addMethodCall('registerPlugin', array(new Reference('swiftmailer.plugin.messagelogger')));
96109
$container->findDefinition('swiftmailer.data_collector')->addTag('data_collector', array('template' => 'SwiftmailerBundle:Collector:swiftmailer', 'id' => 'swiftmailer'));

src/Symfony/Bundle/SwiftmailerBundle/Resources/config/swiftmailer.xml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616
<parameter key="swiftmailer.plugin.blackhole.class">Swift_Plugins_BlackholePlugin</parameter>
1717
<parameter key="swiftmailer.plugin.impersonate.class">Swift_Plugins_ImpersonatePlugin</parameter>
1818
<parameter key="swiftmailer.plugin.messagelogger.class">Symfony\Bundle\SwiftmailerBundle\Logger\MessageLogger</parameter>
19+
<parameter key="swiftmailer.plugin.antiflood.class">Swift_Plugins_AntiFloodPlugin</parameter>
20+
1921
<parameter key="swiftmailer.data_collector.class">Symfony\Bundle\SwiftmailerBundle\DataCollector\MessageDataCollector</parameter>
2022
</parameters>
2123

@@ -63,6 +65,11 @@
6365
</service>
6466

6567
<service id="swiftmailer.plugin.blackhole" class="%swiftmailer.plugin.blackhole.class%" public="false" />
68+
69+
<service id="swiftmailer.plugin.antiflood" class="%swiftmailer.plugin.antiflood.class%" public="false">
70+
<argument>%swiftmailer.antiflood.treshold%</argument>
71+
<argument>%swiftmailer.antiflood.sleep%</argument>
72+
</service>
6673

6774
<service id="swiftmailer.plugin.impersonate" class="%swiftmailer.plugin.impersonate.class%" public="false">
6875
<argument>%swiftmailer.sender_address%</argument>

0 commit comments

Comments
 (0)
0