REDROOM
PHP 8.2.31
Path:
Logout
Edit File
Size: 3.38 KB
Close
/home/nshryvcy/radiantskinclinics.org/wp-content/plugins/woocommerce/src/Internal/EmailEditor/TransactionalEmailPersonalizer.php
Text
Base64
<?php /** * Class for handling transactional email personalization. * * @package Automattic\WooCommerce\Internal\EmailEditor */ declare(strict_types = 1); namespace Automattic\WooCommerce\Internal\EmailEditor; use Automattic\WooCommerce\EmailEditor\Email_Editor_Container; use Automattic\WooCommerce\EmailEditor\Engine\Personalizer; /** * Class TransactionalEmailPersonalizer that internally uses the Personalizer class. * The inheritance is not used here because Personalizer needs to pass Personalization_Tags_Registry and * the combination of two different dependency injection containers is not possible. */ class TransactionalEmailPersonalizer { /** * Personalizer instance for handling email content personalization. * * @var Personalizer */ private Personalizer $personalizer; /** * Constructor. */ public function __construct() { $editor_container = Email_Editor_Container::container(); $this->personalizer = $editor_container->get( Personalizer::class ); } /** * Personalize transactional email content with specific handling. * * @param string $content The content to personalize. * @param \WC_Email $email The WooCommerce email object. * @return string The personalized content. */ public function personalize_transactional_content( string $content, \WC_Email $email ): string { $this->configure_context_by_email( $email ); return $this->personalizer->personalize_content( $content ); } /** * Configure personalization context based on WooCommerce email object. * * @param \WC_Email $email The WooCommerce email object. * @return void */ public function configure_context_by_email( \WC_Email $email ): void { $prepared_context = $this->prepare_context_data( $this->personalizer->get_context(), $email ); $this->personalizer->set_context( $prepared_context ); } /** * Prepare context data for email personalization. * Adds new order specific context data. * * @param array $previous_context Previous version of context data. * @param \WC_Email $email The WooCommerce email object. * @return array Context data for personalization */ public function prepare_context_data( array $previous_context, \WC_Email $email ): array { $context = $previous_context; $context['recipient_email'] = $email->get_recipient(); $context['order'] = $email->object instanceof \WC_Order ? $email->object : null; // For emails of type new_user or reset_password we want to set user directly from the object. if ( $email->object instanceof \WP_User ) { $context['wp_user'] = $email->object; } elseif ( $email->object instanceof \WC_Order ) { $context['wp_user'] = $email->object->get_user(); } else { $context['wp_user'] = null; } $context['wc_email'] = $email; $core_context = $context; /** * Filters the context data for email personalization. * * This filter fires after core defaults are set, allowing extensions * to override values like wp_user for custom email types (e.g., WooCommerce Bookings). * * @since 10.5.0 * @param array $context Context data including core defaults. * @param \WC_Email $email The WooCommerce email object. * @return array Context data for personalization */ $context = apply_filters( 'woocommerce_email_editor_integration_personalizer_context_data', $context, $email ); if ( ! is_array( $context ) ) { $context = $core_context; } return $context; } }
Save
Close
Exit & Reset
Text mode: syntax highlighting auto-detects file type.
Directory Contents
Dirs: 4 × Files: 9
Delete Selected
Select All
Select None
Sort:
Name
Size
Modified
Enable drag-to-move
Name
Size
Perms
Modified
Actions
EmailPatterns
DIR
-
drwxr-xr-x
2026-05-29 02:43:21
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
EmailTemplates
DIR
-
drwxr-xr-x
2026-05-29 02:43:21
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
PersonalizationTags
DIR
-
drwxr-xr-x
2026-05-29 02:43:21
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
WCTransactionalEmails
DIR
-
drwxr-xr-x
2026-05-29 02:43:21
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
BlockEmailRenderer.php
5.39 KB
lrw-r--r--
2025-11-24 23:10:10
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
EmailApiController.php
17.08 KB
lrw-r--r--
2026-05-05 14:26:50
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Integration.php
17.03 KB
lrw-r--r--
2026-05-05 14:26:50
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Logger.php
4.10 KB
lrw-r--r--
2025-09-01 23:44:48
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Package.php
1.64 KB
lrw-r--r--
2025-05-12 21:07:28
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
PageRenderer.php
4.62 KB
lrw-r--r--
2025-09-01 23:44:48
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
PersonalizationTagManager.php
2.20 KB
lrw-r--r--
2025-05-12 21:07:28
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
TransactionalEmailPersonalizer.php
3.38 KB
lrw-r--r--
2026-02-23 17:58:34
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
WooContentProcessor.php
4.77 KB
lrw-r--r--
2026-05-05 14:26:50
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Zip Selected
If ZipArchive is unavailable, a
.tar
will be created (no compression).