Completed
Push — develop ( d8eab8...c1cebe )
by Paul
01:57
created
src/Email.php 1 patch
Spacing   +65 added lines, -65 removed lines patch added patch discarded remove patch
@@ -42,7 +42,7 @@  discard block
 block discarded – undo
42 42
 	 */
43 43
 	protected $to;
44 44
 
45
-	public function __construct( Template $template, Utility $utility )
45
+	public function __construct(Template $template, Utility $utility)
46 46
 	{
47 47
 		$this->template = $template;
48 48
 		$this->utility  = $utility;
@@ -51,19 +51,19 @@  discard block
 block discarded – undo
51 51
 	/**
52 52
 	 * @return Email
53 53
 	 */
54
-	public function compose( array $email )
54
+	public function compose(array $email)
55 55
 	{
56
-		$email = $this->normalize( $email );
56
+		$email = $this->normalize($email);
57 57
 
58 58
 		$this->attachments = $email['attachments'];
59
-		$this->headers     = $this->buildHeaders( $email );
60
-		$this->message     = $this->buildHtmlMessage( $email );
59
+		$this->headers     = $this->buildHeaders($email);
60
+		$this->message     = $this->buildHtmlMessage($email);
61 61
 		$this->subject     = $email['subject'];
62 62
 		$this->to          = $email['to'];
63 63
 
64
-		add_action( 'phpmailer_init', function( PHPMailer $phpmailer ) {
65
-			if( $phpmailer->ContentType === 'text/plain' || !empty( $phpmailer->AltBody ))return;
66
-			$phpmailer->AltBody = $this->buildPlainTextMessage( $phpmailer->Body );
64
+		add_action('phpmailer_init', function(PHPMailer $phpmailer) {
65
+			if ($phpmailer->ContentType === 'text/plain' || !empty($phpmailer->AltBody))return;
66
+			$phpmailer->AltBody = $this->buildPlainTextMessage($phpmailer->Body);
67 67
 		});
68 68
 
69 69
 		return $this;
@@ -74,10 +74,10 @@  discard block
 block discarded – undo
74 74
 	 *
75 75
 	 * @return string|null
76 76
 	 */
77
-	public function read( $plaintext = false )
77
+	public function read($plaintext = false)
78 78
 	{
79 79
 		return $plaintext
80
-			? $this->buildPlainTextMessage( $this->message )
80
+			? $this->buildPlainTextMessage($this->message)
81 81
 			: $this->message;
82 82
 	}
83 83
 
@@ -86,7 +86,7 @@  discard block
 block discarded – undo
86 86
 	 */
87 87
 	public function send()
88 88
 	{
89
-		if( !$this->message || !$this->subject || !$this->to )return;
89
+		if (!$this->message || !$this->subject || !$this->to)return;
90 90
 
91 91
 		$sent = wp_mail(
92 92
 			$this->to,
@@ -104,7 +104,7 @@  discard block
 block discarded – undo
104 104
 	/**
105 105
 	 * @return array
106 106
 	 */
107
-	protected function buildHeaders( array $email )
107
+	protected function buildHeaders(array $email)
108 108
 	{
109 109
 		$allowed = [
110 110
 			'bcc',
@@ -113,34 +113,34 @@  discard block
 block discarded – undo
113 113
 			'reply-to',
114 114
 		];
115 115
 
116
-		$headers = array_intersect_key( $email, array_flip( $allowed ));
117
-		$headers = array_filter( $headers );
116
+		$headers = array_intersect_key($email, array_flip($allowed));
117
+		$headers = array_filter($headers);
118 118
 
119
-		foreach( $headers as $key => $value ) {
120
-			unset( $headers[ $key ] );
121
-			$headers[] = sprintf( '%s: %s', $key, $value );
119
+		foreach ($headers as $key => $value) {
120
+			unset($headers[$key]);
121
+			$headers[] = sprintf('%s: %s', $key, $value);
122 122
 		}
123 123
 
124 124
 		$headers[] = 'Content-Type: text/html';
125 125
 
126
-		return apply_filters( 'castor/email/headers', $headers, $this );
126
+		return apply_filters('castor/email/headers', $headers, $this);
127 127
 	}
128 128
 
129 129
 	/**
130 130
 	 * @return string
131 131
 	 */
132
-	protected function buildHtmlMessage( array $email )
132
+	protected function buildHtmlMessage(array $email)
133 133
 	{
134
-		$body = $this->renderTemplate( 'email' );
134
+		$body = $this->renderTemplate('email');
135 135
 
136
-		$message = !empty( $email['template'] )
137
-			? $this->renderTemplate( $email['template'], $email['template-tags'] )
136
+		$message = !empty($email['template'])
137
+			? $this->renderTemplate($email['template'], $email['template-tags'])
138 138
 			: $email['message'];
139 139
 
140
-		$message = $this->filterHtml( $email['before'] . $message . $email['after'] );
141
-		$message = str_replace( '{message}', $message, $body );
140
+		$message = $this->filterHtml($email['before'] . $message . $email['after']);
141
+		$message = str_replace('{message}', $message, $body);
142 142
 
143
-		return apply_filters( 'castor/email/message', $message, 'html', $this );
143
+		return apply_filters('castor/email/message', $message, 'html', $this);
144 144
 	}
145 145
 
146 146
 	/**
@@ -148,9 +148,9 @@  discard block
 block discarded – undo
148 148
 	 *
149 149
 	 * @return string
150 150
 	 */
151
-	protected function buildPlainTextMessage( $message )
151
+	protected function buildPlainTextMessage($message)
152 152
 	{
153
-		return apply_filters( 'castor/email/message', $this->stripHtmlTags( $message ), 'text', $this );
153
+		return apply_filters('castor/email/message', $this->stripHtmlTags($message), 'text', $this);
154 154
 	}
155 155
 
156 156
 	/**
@@ -158,13 +158,13 @@  discard block
 block discarded – undo
158 158
 	 *
159 159
 	 * @return string
160 160
 	 */
161
-	protected function filterHtml( $message )
161
+	protected function filterHtml($message)
162 162
 	{
163
-		$message = strip_shortcodes( $message );
164
-		$message = wptexturize( $message );
165
-		$message = wpautop( $message );
166
-		$message = str_replace( ['<> ', ']]>'], ['', ']]>'], $message );
167
-		$message = stripslashes( $message );
163
+		$message = strip_shortcodes($message);
164
+		$message = wptexturize($message);
165
+		$message = wpautop($message);
166
+		$message = str_replace(['<> ', ']]>'], ['', ']]>'], $message);
167
+		$message = stripslashes($message);
168 168
 		return $message;
169 169
 	}
170 170
 
@@ -173,36 +173,36 @@  discard block
 block discarded – undo
173 173
 	 */
174 174
 	protected function getDefaultFrom()
175 175
 	{
176
-		return sprintf( '%s <%s>',
177
-			wp_specialchars_decode( get_option( 'blogname' ), ENT_QUOTES ),
178
-			get_option( 'admin_email' )
176
+		return sprintf('%s <%s>',
177
+			wp_specialchars_decode(get_option('blogname'), ENT_QUOTES),
178
+			get_option('admin_email')
179 179
 		);
180 180
 	}
181 181
 
182 182
 	/**
183 183
 	 * @return array
184 184
 	 */
185
-	protected function normalize( $email )
185
+	protected function normalize($email)
186 186
 	{
187
-		$email = shortcode_atts( array_flip([
187
+		$email = shortcode_atts(array_flip([
188 188
 			'after', 'attachments', 'bcc', 'before', 'cc', 'from', 'message', 'reply-to', 'subject',
189 189
 			'template', 'template-tags', 'to',
190
-		]), $email );
190
+		]), $email);
191 191
 
192
-		foreach( ['attachments', 'template-tags'] as $key ) {
193
-			if( !is_array( $email[ $key ] )) {
194
-				$email[ $key ] = [];
192
+		foreach (['attachments', 'template-tags'] as $key) {
193
+			if (!is_array($email[$key])) {
194
+				$email[$key] = [];
195 195
 			}
196 196
 		}
197
-		if( empty( $email['from'] )) {
197
+		if (empty($email['from'])) {
198 198
 			$email['from'] = $this->getDefaultFrom();
199 199
 		}
200 200
 
201
-		if( empty( $email['reply-to'] )) {
201
+		if (empty($email['reply-to'])) {
202 202
 			$email['reply-to'] = $email['from'];
203 203
 		}
204 204
 
205
-		return apply_filters( 'castor/email/compose', $email, $this );
205
+		return apply_filters('castor/email/compose', $email, $this);
206 206
 	}
207 207
 
208 208
 	/**
@@ -222,20 +222,20 @@  discard block
 block discarded – undo
222 222
 	 *
223 223
 	 * @return void|string
224 224
 	 */
225
-	protected function renderTemplate( $templatePath, array $args = [] )
225
+	protected function renderTemplate($templatePath, array $args = [])
226 226
 	{
227
-		$file = $this->template->get( sprintf( 'castor/%s', $templatePath ));
227
+		$file = $this->template->get(sprintf('castor/%s', $templatePath));
228 228
 
229
-		if( !file_exists( $file )) {
230
-			$file = sprintf( '%s/templates/%s.php', dirname( __DIR__ ), $templatePath );
229
+		if (!file_exists($file)) {
230
+			$file = sprintf('%s/templates/%s.php', dirname(__DIR__), $templatePath);
231 231
 		}
232
-		if( !file_exists( $file ))return;
232
+		if (!file_exists($file))return;
233 233
 
234 234
 		ob_start();
235 235
 		include $file;
236 236
 		$template = ob_get_clean();
237 237
 
238
-		return $this->renderTemplateString( $template, $args );
238
+		return $this->renderTemplateString($template, $args);
239 239
 	}
240 240
 
241 241
 	/**
@@ -243,12 +243,12 @@  discard block
 block discarded – undo
243 243
 	 *
244 244
 	 * @return string
245 245
 	 */
246
-	protected function renderTemplateString( $template, array $args = [] )
246
+	protected function renderTemplateString($template, array $args = [])
247 247
 	{
248
-		foreach( $args as $key => $value ) {
249
-			$template = str_replace( sprintf( '{%s}', $key ), $value, $template );
248
+		foreach ($args as $key => $value) {
249
+			$template = str_replace(sprintf('{%s}', $key), $value, $template);
250 250
 		}
251
-		return trim( $template );
251
+		return trim($template);
252 252
 	}
253 253
 
254 254
 	/**
@@ -259,16 +259,16 @@  discard block
 block discarded – undo
259 259
 	 * - strip all remaining HTML tags
260 260
 	 * @return string
261 261
 	 */
262
-	protected function stripHtmlTags( $string )
262
+	protected function stripHtmlTags($string)
263 263
 	{
264
-		$string = preg_replace( '@<(embed|head|noembed|noscript|object|script|style)[^>]*?>.*?</\\1>@siu', '', $string );
265
-		$string = preg_replace( '@</(div|h[1-9]|p|pre|tr)@iu', "\r\n\$0", $string );
266
-		$string = preg_replace( '@</(td|th)@iu', " \$0", $string );
267
-		$string = preg_replace( '@<(li)[^>]*?>@siu', "\$0-o-^-o-", $string );
268
-		$string = wp_strip_all_tags( $string );
269
-		$string = wp_specialchars_decode( $string, ENT_QUOTES );
270
-		$string = preg_replace( '/\v(?:[\v\h]+){2,}/', "\r\n\r\n", $string );
271
-		$string = str_replace( '-o-^-o-', ' - ', $string );
272
-		return html_entity_decode( $string, ENT_QUOTES, 'UTF-8' );
264
+		$string = preg_replace('@<(embed|head|noembed|noscript|object|script|style)[^>]*?>.*?</\\1>@siu', '', $string);
265
+		$string = preg_replace('@</(div|h[1-9]|p|pre|tr)@iu', "\r\n\$0", $string);
266
+		$string = preg_replace('@</(td|th)@iu', " \$0", $string);
267
+		$string = preg_replace('@<(li)[^>]*?>@siu', "\$0-o-^-o-", $string);
268
+		$string = wp_strip_all_tags($string);
269
+		$string = wp_specialchars_decode($string, ENT_QUOTES);
270
+		$string = preg_replace('/\v(?:[\v\h]+){2,}/', "\r\n\r\n", $string);
271
+		$string = str_replace('-o-^-o-', ' - ', $string);
272
+		return html_entity_decode($string, ENT_QUOTES, 'UTF-8');
273 273
 	}
274 274
 }
Please login to merge, or discard this patch.