@@ -42,7 +42,7 @@ discard block |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 | } |