| Server IP : 8.134.250.228 / Your IP : 216.73.217.39 Web Server : Apache System : Linux iZ7xv33p9e9ivk7yhmj7ibZ 5.10.134-18.al8.x86_64 #1 SMP Fri Dec 13 16:56:53 CST 2024 x86_64 User : www ( 1000) PHP Version : 8.0.26 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /www/wwwroot/www.gobluemade.com/wp-content/plugins/wpforms-lite/src/Emails/ |
Upload File : |
<?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;
}
}