Completed
Pull Request — master (#20)
by
unknown
05:55
created

CssInlinerPlugin   A

Complexity

Total Complexity 7

Size/Duplication

Total Lines 47
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 4

Test Coverage

Coverage 53.33%

Importance

Changes 2
Bugs 0 Features 0
Metric Value
wmc 7
c 2
b 0
f 0
lcom 1
cbo 4
dl 0
loc 47
ccs 8
cts 15
cp 0.5333
rs 10

3 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 8 2
A sendPerformed() 0 4 1
A beforeSendPerformed() 0 14 4
1
<?php
2
3
namespace Openbuildings\Swiftmailer;
4
5
use TijsVerkoyen\CssToInlineStyles\CssToInlineStyles;
6
use Swift_Events_SendListener;
7
use Swift_Events_SendEvent;
8
9
/**
10
 * @package    openbuildings\swiftmailer-css-inliner
11
 * @author     Ivan Kerin <[email protected]>
12
 * @copyright  (c) 2013 OpenBuildings Ltd.
13
 * @license    http://spdx.org/licenses/BSD-3-Clause
14
 */
15
class CssInlinerPlugin implements Swift_Events_SendListener
16
{
17
	/**
18
	 * @var CssToInlineStyles
19
	 */
20
	private $converter;
21
22
	/**
23
	 * @param CssToInlineStyles $converter
24
	 */
25
	public function __construct(CssToInlineStyles $converter = null)
26
	{
27
		if ($converter) {
28
			$this->converter = $converter;
29
		} else {
30
			$this->converter = new CssToInlineStyles();
31
		}
32
	}
33
34
	/**
35
	 * @param Swift_Events_SendEvent $event
36
	 */
37 1
	public function beforeSendPerformed(Swift_Events_SendEvent $event)
38
	{
39 1
		$message = $event->getMessage();
40
41 1
		if ($message->getContentType() === 'text/html') {
42 1
			$message->setBody($this->converter->convert($message->getBody()));
43
		}
44
45 1
		foreach ($message->getChildren() as $part) {
46
			if (strpos($part->getContentType(), 'text/html') === 0) {
47
				$part->setBody($this->converter->convert($part->getBody()));
48
			}
49
		}
50 1
	}
51
52
	/**
53
	 * Do nothing
54
	 *
55
	 * @param Swift_Events_SendEvent $event
56
	 */
57 1
	public function sendPerformed(\Swift_Events_SendEvent $event)
58
	{
59
		// Do Nothing
60 1
	}
61
}
62