[
MAINHACK
]
Mail Test
BC
Config Scan
HOME
Create...
New File
New Folder
Viewing / Editing File: Frontend.php
<?php namespace WPForms\Integrations\Stripe; use Elementor\Plugin; /** * Stripe form frontend related functionality. * * @since 1.8.2 */ class Frontend { /** * Handle name for wp_register_styles handle. * * @since 1.8.2 * * @var string */ const HANDLE = 'wpforms-stripe'; /** * Api interface. * * @since 1.8.2 * * @var Api\ApiInterface */ private $api; /** * Initialize. * * @since 1.8.2 * * @param Api\ApiInterface $api Api interface. */ public function init( $api ) { $this->api = $api; $this->hooks(); } /** * Hooks. * * @since 1.8.2 */ private function hooks() { add_action( 'wpforms_frontend_container_class', [ $this, 'form_container_class' ], 10, 2 ); add_action( 'wpforms_wp_footer', [ $this, 'enqueues' ] ); add_action( 'enqueue_block_editor_assets', [ $this, 'enqueue_assets' ] ); add_action( 'elementor/frontend/after_enqueue_styles', [ $this, 'elementor_enqueues' ] ); add_action( 'enqueue_block_assets', [ $this, 'enqueue_block_assets' ] ); add_filter( 'register_block_type_args', [ $this, 'register_block_type_args' ], 20, 2 ); } /** * Add class to form container if Stripe is enabled. * * @since 1.8.2 * * @param array $class Array of form classes. * @param array $form_data Form data of current form. * * @return array */ public function form_container_class( $class, $form_data ) { if ( ! Helpers::has_stripe_field( $form_data ) ) { return $class; } if ( ! Helpers::has_stripe_keys() ) { return $class; } if ( Helpers::is_payments_enabled( $form_data ) ) { $class[] = 'wpforms-stripe'; } return $class; } /** * Enqueue assets in the frontend if Stripe is in use on the page. * * @since 1.8.2 * * @param array $forms Form data of forms on current page. */ public function enqueues( $forms ) { if ( ! Helpers::has_stripe_enabled( $forms ) || ! Helpers::has_stripe_field( $forms, true ) ) { return; } $this->enqueue_assets(); } /** * Enqueue block editor assets. * * @since 1.8.6 */ public function enqueue_block_assets() { if ( ! is_admin() ) { return; } $this->enqueue_styles(); } /** * Enqueue assets on the frontend. * * @since 1.8.2 */ public function enqueue_assets() { $min = wpforms_get_min_suffix(); if ( ! Helpers::has_stripe_keys() ) { return; } $config = $this->api->get_config(); $in_footer = ! wpforms_is_frontend_js_header_force_load(); wp_enqueue_script( 'wpforms-generic-utils', WPFORMS_PLUGIN_URL . "assets/js/share/utils{$min}.js", [ 'jquery' ], WPFORMS_VERSION, $in_footer ); wp_enqueue_script( 'stripe-js', $config['remote_js_url'], [ 'jquery' ], null, // phpcs:ignore WordPress.WP.EnqueuedResourceParameters.MissingVersion $in_footer ); wp_enqueue_script( self::HANDLE, $config['local_js_url'], [ 'jquery', 'stripe-js', 'wpforms-generic-utils' ], WPFORMS_VERSION, $in_footer ); wp_localize_script( self::HANDLE, 'wpforms_stripe', [ 'publishable_key' => Helpers::get_stripe_key( 'publishable' ), 'data' => $config['localize_script'], 'i18n' => [ 'empty_details' => esc_html__( 'Please fill out payment details to continue.', 'wpforms-lite' ), 'element_load_error' => esc_html__( 'Payment Element failed to load. Stripe API responded with the message:', 'wpforms-lite' ), ], 'styles_enabled' => (int) wpforms_setting( 'disable-css', '1' ) !== 3, ] ); $this->enqueue_styles(); } /** * Set editor style for block type editor. * * @since 1.8.2 * * @param array $args Array of arguments for registering a block type. * @param string $block_type Block type name including namespace. */ public function register_block_type_args( $args, $block_type ) { if ( $block_type !== 'wpforms/form-selector' || ! is_admin() ) { return $args; } $config = $this->api->get_config(); if ( ! isset( $config['local_css_url'] ) ) { return $args; } wp_register_style( 'wpforms-stripe', $config['local_css_url'], [ $args['editor_style'] ], WPFORMS_VERSION ); $args['editor_style'] = self::HANDLE; return $args; } /** * Enqueue styles for Elementor preview. * * @since 1.8.4.1 * * @noinspection PhpUndefinedFieldInspection */ public function elementor_enqueues() { if ( ! class_exists( Plugin::class ) || ! Plugin::instance()->preview->is_preview_mode() ) { return; } $this->enqueue_styles(); } /** * Enqueue styles. * * @since 1.8.4.1 */ private function enqueue_styles() { if ( (int) wpforms_setting( 'disable-css', '1' ) === 3 ) { return; } $min = wpforms_get_min_suffix(); wp_enqueue_style( self::HANDLE, WPFORMS_PLUGIN_URL . "assets/css/integrations/stripe/wpforms-stripe{$min}.css", [], WPFORMS_VERSION ); } }
Save Changes
Cancel / Back
Close ×
Server Info
Hostname: premium166.web-hosting.com
Server IP: 162.0.209.40
PHP Version: 8.2.30
Server Software: LiteSpeed
System: Linux premium166.web-hosting.com 4.18.0-553.45.1.lve.el8.x86_64 #1 SMP Wed Mar 26 12:08:09 UTC 2025 x86_64
HDD Total: 97.87 GB
HDD Free: 75.01 GB
Domains on IP: N/A (Requires external lookup)
System Features
Safe Mode:
Off
disable_functions:
None
allow_url_fopen:
On
allow_url_include:
Off
magic_quotes_gpc:
Off
register_globals:
Off
open_basedir:
None
cURL:
Enabled
ZipArchive:
Enabled
MySQLi:
Enabled
PDO:
Enabled
wget:
Yes
curl (cmd):
Yes
perl:
Yes
python:
Yes (py3)
gcc:
No
pkexec:
No
git:
Yes
User Info
Username: kataubyb
User ID (UID): 624
Group ID (GID): 625
Script Owner UID: 624
Current Dir Owner: 624