PluginProbe
Formidable Forms – WordPress Form Builder for Contact Forms, Calculators, Quizzes & More / 6.32
Formidable Forms – WordPress Form Builder for Contact Forms, Calculators, Quizzes & More v6.32
6.35 6.34 6.33.1 6.33 6.32.1 6.32 6.31 6.25 6.25.1 6.26 6.26.1 6.27 6.28 6.29 6.3 6.3.1 6.3.2 6.30 6.4 6.4.1 6.4.2 6.5 6.5.1 6.5.2 6.5.3 All 141 releases
← All changes | classes/controllers/FrmSMTPController.php +35 -33 6.36.32 View file →
@@ -47,12 +47,12 @@
47 47 *
48 48 * @return void
49 49 */
50 50 public static function load_hooks() {
51 -
52 51 add_filter( 'wp_mail_smtp_is_white_labeled', '__return_true' );
53 52
54 53 $self = new self();
54 +
55 55 if ( wp_doing_ajax() ) {
56 56 add_action( 'wp_ajax_frm_smtp_page_check_plugin_status', array( $self, 'ajax_check_plugin_status' ) );
57 57 }
58 58
@@ -73,14 +73,15 @@
73 73
74 74 /**
75 75 * Customize the upgrade link.
76 76 *
77 + * @param string $link
78 + *
77 79 * @return string
78 80 */
79 81 public function link( $link ) {
80 82 $new_link = 'formidableforms.com/go-wp-mail-smtp/?urllink=wpmailsmtp%2Ecom%2Flite%2Dupgrade&';
81 - $link = str_replace( 'wpmailsmtp.com/lite-upgrade/?', $new_link, $link );
82 - return $link;
83 + return str_replace( 'wpmailsmtp.com/lite-upgrade/?', $new_link, $link );
83 84 }
84 85
85 86 /**
86 87 * Don't nag people to install WPForms
@@ -85,13 +86,17 @@
85 86 /**
86 87 * Don't nag people to install WPForms
87 88 *
88 89 * @since 4.04.04
90 + *
91 + * @param array $upsell
92 + *
93 + * @return array
89 94 */
90 95 public static function remove_wpforms_nag( $upsell ) {
91 96 if ( is_array( $upsell ) ) {
92 97 foreach ( $upsell as $k => $plugin ) {
93 - if ( strpos( $plugin['slug'], 'wpforms' ) !== false ) {
98 + if ( str_contains( $plugin['slug'], 'wpforms' ) ) {
94 99 unset( $upsell[ $k ] );
95 100 }
96 101 }
97 102 }
@@ -142,8 +147,9 @@
142 147 'width' => 90,
143 148 );
144 149
145 150 // Heading section.
151 + // phpcs:disable Generic.WhiteSpace.ScopeIndent
146 152 ?>
147 153 <section class="top">
148 154 <div class="frm-smtp-logos">
149 155 <?php
@@ -159,11 +165,12 @@
159 165 $this->stmp_logo();
160 166 ?>
161 167 </div>
162 168 <h1><?php esc_html_e( 'Making Email Deliverability Easy for WordPress', 'formidable' ); ?></h1>
163 - <p><?php esc_html_e( 'WP Mail SMTP allows you to easily set up WordPress to use a trusted provider to reliably send emails, including form notifications.', 'formidable' ); ?></p>
169 + <p><?php esc_html_e( 'WP Mail SMTP allows you to easily set up WordPress to use a trusted provider to reliably send emails, including form notifications.', 'formidable' ); ?></p><?php // phpcs:ignore SlevomatCodingStandard.Files.LineLength.LineTooLong ?>
164 170 </section>
165 171 <?php
172 + // phpcs:enable Generic.WhiteSpace.ScopeIndent
166 173 }
167 174
168 175 /**
169 176 * Generate and output screenshot section HTML.
@@ -172,9 +179,8 @@
172 179 *
173 180 * @return void
174 181 */
175 182 protected function output_section_screenshot() {
176 -
177 183 printf(
178 184 '<section class="screenshot">
179 185 <div class="cont">
180 186 <img src="%1$s" alt="%2$s"/>
@@ -187,9 +193,9 @@
187 193 </ul>
188 194 </section>',
189 195 esc_url( FrmAppHelper::plugin_url() . '/images/smtp-screenshot-tnail.png' ),
190 196 esc_attr__( 'WP Mail SMTP screenshot', 'formidable' ),
191 - '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 492 492" width="14" height="14"><path d="M484 227L306 49a27 27 0 00-38 0l-16 16a27 27 0 000 38l104 105H27c-15 0-27 11-27 26v23c0 15 12 27 27 27h330L252 389a27 27 0 000 38l16 16a27 27 0 0038 0l178-178a27 27 0 000-38z" fill="#5bbfa5"/></svg> &nbsp;',
197 + '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 492 492" width="14" height="14"><path d="M484 227L306 49a27 27 0 00-38 0l-16 16a27 27 0 000 38l104 105H27c-15 0-27 11-27 26v23c0 15 12 27 27 27h330L252 389a27 27 0 000 38l16 16a27 27 0 0038 0l178-178a27 27 0 000-38z" fill="#5bbfa5"/></svg> &nbsp;', // phpcs:ignore SlevomatCodingStandard.Files.LineLength.LineTooLong
192 198 esc_html__( 'Over 1,000,000 websites use WP Mail SMTP.', 'formidable' ),
193 199 esc_html__( 'Send emails authenticated via trusted parties.', 'formidable' ),
194 200 esc_html__( 'Transactional Mailers: Pepipost, SendinBlue, Mailgun, SendGrid, Amazon SES.', 'formidable' ),
195 201 esc_html__( 'Web Mailers: Gmail, G Suite, Office 365, Outlook.com.', 'formidable' )
@@ -203,12 +209,11 @@
203 209 *
204 210 * @return void
205 211 */
206 212 protected function output_section_step_install() {
207 -
208 213 $step = $this->get_data_step_install();
209 214
210 - if ( empty( $step ) ) {
215 + if ( ! $step ) {
211 216 return;
212 217 }
213 218
214 219 $icon = FrmAppHelper::icon_by_class(
@@ -252,12 +257,11 @@
252 257 *
253 258 * @return void
254 259 */
255 260 protected function output_section_step_setup() {
256 -
257 261 $step = $this->get_data_step_setup();
258 262
259 - if ( empty( $step ) ) {
263 + if ( ! $step ) {
260 264 return;
261 265 }
262 266
263 267 $icon = FrmAppHelper::icon_by_class(
@@ -298,9 +302,8 @@
298 302 *
299 303 * @return array Step data.
300 304 */
301 305 protected function get_data_step_install() {
302 -
303 306 $lite_plugin = new FrmInstallPlugin( array( 'plugin_file' => $this->config['lite_plugin'] ) );
304 307 $pro_plugin = new FrmInstallPlugin( array( 'plugin_file' => $this->config['pro_plugin'] ) );
305 308
306 309 $this->output_data['plugin_installed'] = $lite_plugin->is_installed();
@@ -313,8 +316,9 @@
313 316 'button_action' => '',
314 317 );
315 318
316 319 $is_installed = $this->output_data['plugin_installed'] || $this->output_data['pro_plugin_installed'];
320 +
317 321 if ( ! $is_installed ) {
318 322 // Return the download url.
319 323 $step['button_text'] = __( 'Install WP Mail SMTP', 'formidable' );
320 324 $step['button_class'] = 'frm-install-addon';
@@ -328,11 +332,11 @@
328 332
329 333 $step['plugin'] = $this->output_data['pro_plugin_installed'] ? $this->config['pro_plugin'] : $this->config['lite_plugin'];
330 334
331 335 if ( $this->output_data['plugin_activated'] ) {
332 - $step['icon'] = 'frm_step_complete_icon';
333 - $step['button_text'] = __( 'WP Mail SMTP Installed & Activated', 'formidable' );
334 - $step['button_class'] = 'grey disabled';
336 + $step['icon'] = 'frm_step_complete_icon';
337 + $step['button_text'] = __( 'WP Mail SMTP Installed & Activated', 'formidable' );
338 + $step['button_class'] = 'grey disabled';
335 339 } else {
336 340 $step['button_text'] = __( 'Activate WP Mail SMTP', 'formidable' );
337 341 $step['button_class'] = 'frm-activate-addon';
338 342 $step['button_action'] = __( 'Activate', 'formidable' );
@@ -348,9 +352,8 @@
348 352 *
349 353 * @return array Step data.
350 354 */
351 355 protected function get_data_step_setup() {
352 -
353 356 $step = array();
354 357
355 358 $step['icon'] = 'frm_step2_icon';
356 359 $step['section_class'] = $this->output_data['plugin_activated'] ? '' : 'grey';
@@ -375,17 +378,14 @@
375 378 *
376 379 * @return bool True if some mailer is selected and configured properly.
377 380 */
378 381 protected function is_smtp_configured() {
379 -
380 382 if ( ! $this->is_smtp_activated() ) {
381 383 return false;
382 384 }
383 385
384 - $phpmailer = $this->get_phpmailer();
385 -
386 386 $mailer = WPMailSMTP\Options::init()->get( 'mail', 'mailer' );
387 - $is_mailer_complete = wp_mail_smtp()->get_providers()->get_mailer( $mailer, $phpmailer )->is_mailer_complete();
387 + $is_mailer_complete = wp_mail_smtp()->get_providers()->get_mailer( $mailer, $this->get_phpmailer() )->is_mailer_complete();
388 388
389 389 return 'mail' !== $mailer && $is_mailer_complete;
390 390 }
391 391
@@ -404,22 +404,24 @@
404 404 * Get $phpmailer instance.
405 405 *
406 406 * @since 4.04.04
407 407 *
408 - * @return \WPMailSMTP\Providers\MailCatcherInterface|PHPMailer Instance of PHPMailer.
408 + * @return PHPMailer|\WPMailSMTP\Providers\MailCatcherInterface Instance of PHPMailer.
409 409 */
410 410 protected function get_phpmailer() {
411 411 global $phpmailer;
412 412
413 - if ( ! is_object( $phpmailer ) || ! is_a( $phpmailer, 'PHPMailer' ) ) {
414 - if ( is_callable( array( wp_mail_smtp(), 'generate_mail_catcher' ) ) ) {
415 - $phpmailer = wp_mail_smtp()->generate_mail_catcher( true ); // phpcs:ignore
416 - } else {
417 - require_once ABSPATH . WPINC . '/class-phpmailer.php';
418 - $phpmailer = new PHPMailer( true ); // phpcs:ignore
419 - }
413 + if ( is_object( $phpmailer ) && is_a( $phpmailer, 'PHPMailer' ) ) {
414 + return $phpmailer;
420 415 }
421 416
417 + if ( is_callable( array( wp_mail_smtp(), 'generate_mail_catcher' ) ) ) {
418 + $phpmailer = wp_mail_smtp()->generate_mail_catcher( true ); // phpcs:ignore
419 + } else {
420 + require_once ABSPATH . WPINC . '/class-phpmailer.php';
421 + $phpmailer = new PHPMailer( true ); // phpcs:ignore
422 + }
423 +
422 424 return $phpmailer;
423 425 }
424 426
425 427 /**
@@ -439,11 +441,13 @@
439 441 /**
440 442 * @return void
441 443 */
442 444 private function stmp_logo() {
445 + // phpcs:disable Generic.WhiteSpace.ScopeIndent
443 446 ?>
444 - <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 60 60" height="90" width="90"><defs><style>.cls-11,.cls-12{fill-rule:evenodd}.cls-4{fill:none}.cls-11{fill:#86a196}.cls-12{fill:#fff}</style></defs><path class="cls-4" d="M-6.3 0h60v60h-60z"/><path d="M16.7 8.1a15.4 15.4 0 00-8 10.2 23.5 23.5 0 1030 0 15.4 15.4 0 00-9.3-10.8 3.4 3.4 0 00-2.1-2.7A4.6 4.6 0 0018.4 3a24.4 24.4 0 00-1.7 5z" fill="#395360" fill-rule="evenodd"/><path fill="#fbaa6f" d="M18 26h12v14H18z"/><path d="M25.9 33.2l-.1-.1a1.4 1.4 0 111.6-2.3 1.9 1.9 0 00-1.2.8 1.9 1.9 0 00-.3 1.6zm-4.5 0a1.8 1.8 0 00-.4-1.6 2 2 0 00-1.2-.8 1.4 1.4 0 011.6 2.3zm7.2-3.2h.5l-1 4.8-2.2 6.5h-4.3l-3.2-5.4 1.1-3.2 2.1 2.7c.6.5 2.7.5 3.8-.6a26.2 26.2 0 003.2-4.8z" fill="#dc7f3c" fill-rule="evenodd"/><path d="M9.7 29H15v-9h-4a13 13 0 017.4-10q1.2-5 2.8-6.8l.1-.1.1-.1a2.3 2.3 0 011.1-.5 2.3 2.3 0 012.2 3.8 1.6 1.6 0 01-.4.3A15 15 0 0023 8a5 5 0 013-1.5 1.4 1.4 0 01.7.2 1.3 1.3 0 01.5 1.8 1.3 1.3 0 01-.6.6 13 13 0 0110.1 11l.1.8H33v8h4.8l1.8 13.4q-6.3 4-15.8 4T8 42.4zM25 38.4q3.8-6.4 3.8-7.6c0-2.2-3.2-4-4.8-4s-4.9 1.7-4.9 4q0 1.2 3.8 7.6a1.2 1.2 0 001 .6 1 1 0 001-.6z" fill="#bdcfc8" fill-rule="evenodd"/><path class="cls-4" d="M19 31h9.6L27 47.2h-6.4l-1.6-16z"/><path d="M39.8 48.8a20 20 0 01-32 0l.8-6a2.7 2.7 0 001 .1 2.8 2.8 0 002.8-2.4v1.2a2.8 2.8 0 005.6 0v1.6a2.9 2.9 0 005.7 0 2.8 2.8 0 005.7 0v-1.6a2.8 2.8 0 105.7 0v-1.2A2.8 2.8 0 0038 43a2.9 2.9 0 001-.2l.8 6z" fill="#809eb0" fill-rule="evenodd"/><path d="M8.3 44.6l.3-1.8a2.7 2.7 0 001 .2 2.8 2.8 0 002.8-2.5v1.2a2.8 2.8 0 005.7 0v1.7a2.9 2.9 0 005.6 0 2.8 2.8 0 005.7 0v-1.7a2.8 2.8 0 105.7 0v-1.2A2.8 2.8 0 0038 43a2.9 2.9 0 001-.2l.3 2a2.9 2.9 0 01-4.1-2.2v1.2a2.8 2.8 0 11-5.7 0v1.6a2.8 2.8 0 01-5.7 0 2.9 2.9 0 01-5.7 0v-1.7a2.8 2.8 0 01-5.7 0v-1.2A2.8 2.8 0 019.6 45a2.9 2.9 0 01-1.3-.3z" fill="#738e9e" fill-rule="evenodd"/><path class="cls-11" d="M37.8 22.4c-1-2.9-3-4.7-4.7-4.5-2.2.2-2.8 3.7-2.3 8s1.7 7.5 3.9 7.3 4-3.9 3.6-8c0 1.2-.5 2.3-1.3 2.4-1.2 0-1.5-1.2-1.6-2.9s-.2-3 1-3a1.5 1.5 0 011.4.7z"/><path class="cls-12" d="M37 21.8c-.6-1.3-1.5-2-2.4-1.9-1.5.1-1.9 2.6-1.6 5.5s1.2 5.1 2.7 5c1.1-.2 2-1.5 2.2-3.4a1.2 1.2 0 01-1 .6c-1 0-1.4-1.2-1.5-2.9s-.1-3 1-3a1.6 1.6 0 01.6 0z"/><path class="cls-11" d="M9.6 22.4c1-2.9 3-4.7 4.7-4.5 2.2.2 2.8 3.7 2.3 8s-1.7 7.5-3.9 7.3-4-3.9-3.7-8c.1 1.2.5 2.3 1.4 2.4 1.1 0 1.5-1.2 1.6-2.9s.1-3-1-3a1.5 1.5 0 00-1.4.7z"/><path class="cls-12" d="M10.4 21.8c.6-1.3 1.5-2 2.4-1.9 1.5.1 1.8 2.6 1.5 5.5s-1.1 5.1-2.6 5c-1.1-.2-2-1.5-2.2-3.4a1.2 1.2 0 00.9.6c1.1 0 1.4-1.2 1.6-2.9s.1-3-1-3a1.7 1.7 0 00-.7 0z"/><path d="M19 28.6a5.3 5.3 0 010-.7c0-2.4 1.2-5.2 4.9-5.2s4.8 2.8 4.8 5.2a4.4 4.4 0 010 1c-.9-1.3-2.4-2.1-4.9-2.1-2.4 0-3.9.7-4.8 1.8z" fill="#f4f8ff" fill-rule="evenodd"/><path class="cls-11" d="M26.5 9.2L23.3 9l4-1.2a1.4 1.4 0 01-.8 1.4zm-3.5-1l-1.3 1a16.8 16.8 0 002-3.8 6.6 6.6 0 00.3-2.7A2.4 2.4 0 0125.2 5a2.4 2.4 0 01-.7 1.5A15 15 0 0023 8.1z"/></svg>
447 + <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 60 60" height="90" width="90"><defs><style>.cls-11,.cls-12{fill-rule:evenodd}.cls-4{fill:none}.cls-11{fill:#86a196}.cls-12{fill:#fff}</style></defs><path class="cls-4" d="M-6.3 0h60v60h-60z"/><path d="M16.7 8.1a15.4 15.4 0 00-8 10.2 23.5 23.5 0 1030 0 15.4 15.4 0 00-9.3-10.8 3.4 3.4 0 00-2.1-2.7A4.6 4.6 0 0018.4 3a24.4 24.4 0 00-1.7 5z" fill="#395360" fill-rule="evenodd"/><path fill="#fbaa6f" d="M18 26h12v14H18z"/><path d="M25.9 33.2l-.1-.1a1.4 1.4 0 111.6-2.3 1.9 1.9 0 00-1.2.8 1.9 1.9 0 00-.3 1.6zm-4.5 0a1.8 1.8 0 00-.4-1.6 2 2 0 00-1.2-.8 1.4 1.4 0 011.6 2.3zm7.2-3.2h.5l-1 4.8-2.2 6.5h-4.3l-3.2-5.4 1.1-3.2 2.1 2.7c.6.5 2.7.5 3.8-.6a26.2 26.2 0 003.2-4.8z" fill="#dc7f3c" fill-rule="evenodd"/><path d="M9.7 29H15v-9h-4a13 13 0 017.4-10q1.2-5 2.8-6.8l.1-.1.1-.1a2.3 2.3 0 011.1-.5 2.3 2.3 0 012.2 3.8 1.6 1.6 0 01-.4.3A15 15 0 0023 8a5 5 0 013-1.5 1.4 1.4 0 01.7.2 1.3 1.3 0 01.5 1.8 1.3 1.3 0 01-.6.6 13 13 0 0110.1 11l.1.8H33v8h4.8l1.8 13.4q-6.3 4-15.8 4T8 42.4zM25 38.4q3.8-6.4 3.8-7.6c0-2.2-3.2-4-4.8-4s-4.9 1.7-4.9 4q0 1.2 3.8 7.6a1.2 1.2 0 001 .6 1 1 0 001-.6z" fill="#bdcfc8" fill-rule="evenodd"/><path class="cls-4" d="M19 31h9.6L27 47.2h-6.4l-1.6-16z"/><path d="M39.8 48.8a20 20 0 01-32 0l.8-6a2.7 2.7 0 001 .1 2.8 2.8 0 002.8-2.4v1.2a2.8 2.8 0 005.6 0v1.6a2.9 2.9 0 005.7 0 2.8 2.8 0 005.7 0v-1.6a2.8 2.8 0 105.7 0v-1.2A2.8 2.8 0 0038 43a2.9 2.9 0 001-.2l.8 6z" fill="#809eb0" fill-rule="evenodd"/><path d="M8.3 44.6l.3-1.8a2.7 2.7 0 001 .2 2.8 2.8 0 002.8-2.5v1.2a2.8 2.8 0 005.7 0v1.7a2.9 2.9 0 005.6 0 2.8 2.8 0 005.7 0v-1.7a2.8 2.8 0 105.7 0v-1.2A2.8 2.8 0 0038 43a2.9 2.9 0 001-.2l.3 2a2.9 2.9 0 01-4.1-2.2v1.2a2.8 2.8 0 11-5.7 0v1.6a2.8 2.8 0 01-5.7 0 2.9 2.9 0 01-5.7 0v-1.7a2.8 2.8 0 01-5.7 0v-1.2A2.8 2.8 0 019.6 45a2.9 2.9 0 01-1.3-.3z" fill="#738e9e" fill-rule="evenodd"/><path class="cls-11" d="M37.8 22.4c-1-2.9-3-4.7-4.7-4.5-2.2.2-2.8 3.7-2.3 8s1.7 7.5 3.9 7.3 4-3.9 3.6-8c0 1.2-.5 2.3-1.3 2.4-1.2 0-1.5-1.2-1.6-2.9s-.2-3 1-3a1.5 1.5 0 011.4.7z"/><path class="cls-12" d="M37 21.8c-.6-1.3-1.5-2-2.4-1.9-1.5.1-1.9 2.6-1.6 5.5s1.2 5.1 2.7 5c1.1-.2 2-1.5 2.2-3.4a1.2 1.2 0 01-1 .6c-1 0-1.4-1.2-1.5-2.9s-.1-3 1-3a1.6 1.6 0 01.6 0z"/><path class="cls-11" d="M9.6 22.4c1-2.9 3-4.7 4.7-4.5 2.2.2 2.8 3.7 2.3 8s-1.7 7.5-3.9 7.3-4-3.9-3.7-8c.1 1.2.5 2.3 1.4 2.4 1.1 0 1.5-1.2 1.6-2.9s.1-3-1-3a1.5 1.5 0 00-1.4.7z"/><path class="cls-12" d="M10.4 21.8c.6-1.3 1.5-2 2.4-1.9 1.5.1 1.8 2.6 1.5 5.5s-1.1 5.1-2.6 5c-1.1-.2-2-1.5-2.2-3.4a1.2 1.2 0 00.9.6c1.1 0 1.4-1.2 1.6-2.9s.1-3-1-3a1.7 1.7 0 00-.7 0z"/><path d="M19 28.6a5.3 5.3 0 010-.7c0-2.4 1.2-5.2 4.9-5.2s4.8 2.8 4.8 5.2a4.4 4.4 0 010 1c-.9-1.3-2.4-2.1-4.9-2.1-2.4 0-3.9.7-4.8 1.8z" fill="#f4f8ff" fill-rule="evenodd"/><path class="cls-11" d="M26.5 9.2L23.3 9l4-1.2a1.4 1.4 0 01-.8 1.4zm-3.5-1l-1.3 1a16.8 16.8 0 002-3.8 6.6 6.6 0 00.3-2.7A2.4 2.4 0 0125.2 5a2.4 2.4 0 01-.7 1.5A15 15 0 0023 8.1z"/></svg><?php // phpcs:ignore SlevomatCodingStandard.Files.LineLength.LineTooLong ?>
445 448 <?php
449 + // phpcs:enable Generic.WhiteSpace.ScopeIndent
446 450 }
447 451
448 452 /**
449 453 * @return void
@@ -448,13 +452,12 @@
448 452 /**
449 453 * @return void
450 454 */
451 455 private function css() {
456 + // phpcs:disable Generic.WhiteSpace.ScopeIndent
452 457 ?>
453 458 <style>
454 459 #frm-admin-smtp *, #frm-admin-smtp *::before, #frm-admin-smtpp *::after {
455 - -webkit-box-sizing: border-box;
456 - -moz-box-sizing: border-box;
457 460 box-sizing: border-box;
458 461 }
459 462 #frm-admin-smtp{
460 463 width: 700px;
@@ -513,10 +516,8 @@
513 516 border-radius: 3px;
514 517 }
515 518 #frm-admin-smtp .step,
516 519 #frm-admin-smtp .screenshot .cont {
517 - -webkit-box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0.05);
518 - -moz-box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0.05);
519 520 box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0.05);
520 521 }
521 522 #frm-admin-smtp .step {
522 523 background-color: #F9F9F9;
@@ -561,6 +562,7 @@
561 562 cursor: default;
562 563 }
563 564 </style>
564 565 <?php
566 + // phpcs:enable Generic.WhiteSpace.ScopeIndent
565 567 }
566 568 }