PHP 8.2.31
Preview: Styler.php Size: 2.53 KB
/proc/self/root/home/nshryvcy/radiantskinclinics.org/wp-content/plugins/wpforms-lite/src/Emails/Styler.php

<?php

namespace WPForms\Emails;

use WPForms\Vendor\TijsVerkoyen\CssToInlineStyles\CssToInlineStyles;
use WPForms\Helpers\Templates;

/**
 * Styler class inline style email templates.
 *
 * @since 1.5.4
 */
class Styler {

	/**
	 * Email message with no styles.
	 *
	 * @since 1.5.4
	 *
	 * @var string
	 */
	protected $email;

	/**
	 * Email style templates names.
	 *
	 * @since 1.5.4
	 *
	 * @var array
	 */
	protected $style_templates;

	/**
	 * Email style overrides.
	 *
	 * @since 1.5.4
	 *
	 * @var array
	 */
	protected $style_overrides;

	/**
	 * Email message with inline styles.
	 *
	 * @since 1.5.4
	 *
	 * @var string
	 */
	protected $styled_email;

	/**
	 * Constructor.
	 *
	 * @since 1.5.4
	 *
	 * @param string $email           Email with no styles.
	 * @param array  $style_templates Email style templates.
	 * @param array  $style_overrides Email style overrides.
	 */
	public function __construct( $email, $style_templates, $style_overrides ) {

		$this->email = $email;

		$this->style_templates = is_array( $style_templates ) ? $style_templates : [];
		$this->style_overrides = is_array( $style_overrides ) ? $style_overrides : [];
	}

	/**
	 * Template style overrides.
	 *
	 * @since 1.5.4
	 *
	 * @return array
	 */
	protected function get_style_overrides() {

		$defaults = Helpers::get_current_template_style_overrides();

		$overrides = \wp_parse_args( $this->style_overrides, $defaults );

		return \apply_filters( 'wpforms_emails_mailer_get_style_overrides', $overrides, $this );
	}

	/**
	 * Locate template name matching styles.
	 *
	 * @since 1.5.4
	 *
	 * @param string $name Template file name part.
	 *
	 * @return string
	 */
	protected function get_styles( $name = 'style' ) {

		if ( ! \array_key_exists( $name, $this->style_templates ) ) {
			return '';
		}

		return Templates::get_html(
			$this->style_templates[ $name ],
			$this->get_style_overrides(),
			true
		);
	}

	/**
	 * Final processing of the template markup.
	 *
	 * @since 1.5.4
	 */
	public function process_markup() {

		$this->styled_email = ( new CssToInlineStyles() )->convert( $this->email, $this->get_styles() );

		$queries = '<style type="text/css">' . $this->get_styles( 'queries' ) . "</style>\n</head>";

		// Inject media queries, CssToInlineStyles strips them.
		$this->styled_email = \str_replace( '</head>', $queries, $this->styled_email );
	}

	/**
	 * Get an email with inline styles.
	 *
	 * @since 1.5.4
	 *
	 * @return string
	 */
	public function get() {

		if ( empty( $this->styled_email ) ) {
			$this->process_markup();
		}

		return $this->styled_email;
	}
}

Directory Contents

Dirs: 2 × Files: 8

Name Size Perms Modified Actions
Tasks DIR
- drwxr-xr-x 2026-06-04 03:43:03
Edit Download
Templates DIR
- drwxr-xr-x 2026-06-04 03:43:03
Edit Download
12.60 KB lrw-r--r-- 2024-01-16 17:57:58
Edit Download
5.36 KB lrw-r--r-- 2025-04-24 14:53:30
Edit Download
12.66 KB lrw-r--r-- 2026-01-29 20:00:56
Edit Download
4.63 KB lrw-r--r-- 2024-09-26 15:36:36
Edit Download
40.17 KB lrw-r--r-- 2026-03-19 16:20:18
Edit Download
12.95 KB lrw-r--r-- 2025-07-31 14:13:36
Edit Download
2.53 KB lrw-r--r-- 2023-11-28 16:59:36
Edit Download
14.60 KB lrw-r--r-- 2026-06-03 16:18:22
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).