Submit
Path:
~
/
home
/
getwphos
/
www
/
almajd14
/
wp-content
/
plugins
/
woocommerce
/
src
/
Internal
/
StockNotifications
/
Frontend
/
File Content:
FormHandlerService.php
<?php declare( strict_types = 1 ); namespace Automattic\WooCommerce\Internal\StockNotifications\Frontend; use Automattic\WooCommerce\Internal\StockNotifications\Config; /** * Class for handling the form submission. */ class FormHandlerService { /** * The signup service. * * @var SignupService */ private SignupService $signup_service; /** * The logger. * * @var LoggerInterface */ private $logger; /** * Initialize the service. * * @internal * * @param SignupService $signup_service The signup service. */ final public function init( SignupService $signup_service ) { $this->signup_service = $signup_service; $this->logger = \wc_get_logger(); } /** * Constructor. */ public function __construct() { add_action( 'template_redirect', array( $this, 'handle_signup' ) ); } /** * Handle the form submit event. */ public function handle_signup() { // Sanity checks. if ( ! Config::allows_signups() ) { return; } if ( ! isset( $_POST['wc_bis_register'] ) ) { // phpcs:disable WordPress.Security.NonceVerification.Missing, WordPress.Security.NonceVerification.Recommended return; } try { if ( self::requires_nonce_check() ) { if ( ! isset( $_POST['wc_bis_nonce'] ) || ! wp_verify_nonce( wp_unslash( $_POST['wc_bis_nonce'] ), 'wc_bis_signup' ) ) { // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized wc_add_notice( $this->signup_service->get_error_message( SignupService::ERROR_INVALID_REQUEST ), 'error' ); return; } } $data = $this->signup_service->parse( $_POST ); if ( \is_wp_error( $data ) ) { wc_add_notice( $this->signup_service->get_error_message( $data->get_error_code() ), 'error' ); return; } $result = $this->signup_service->signup( $data['product_id'], $data['user_id'], $data['user_email'], $data['posted_attributes'] ?? array() ); if ( \is_wp_error( $result ) ) { wc_add_notice( $this->signup_service->get_error_message( $result->get_error_code() ), 'error' ); return; } wc_add_notice( $this->signup_service->get_signup_user_message( $result->get_code(), $result->get_notification() ), 'success' ); } catch ( \Throwable $e ) { wc_add_notice( $this->signup_service->get_error_message( SignupService::ERROR_FAILED ), 'error' ); $this->logger->error( $e->getMessage(), array( 'source' => 'stock-notifications-signup-errors' ) ); return; } } /** * Whether the form requires a nonce check. * * Note: Nonce checks may be disabled for guest signups to support HTML caching. * * @return bool True if the form requires a nonce check, false otherwise. */ public static function requires_nonce_check(): bool { $requires_account = ProductPageIntegration::is_personalization_enabled() && ( Config::requires_account() || \is_user_logged_in() ); /** * Filter to require nonce check. * * @since 10.2.0 * * @param bool $requires_nonce_check Whether to require nonce check. * @return bool */ return (bool) apply_filters( 'woocommerce_customer_stock_notifications_requires_nonce_check', $requires_account ); } }
Edit
Rename
Chmod
Delete
FILE
FOLDER
Name
Size
Permission
Action
FormHandlerService.php
3163 bytes
0644
NotificationManagementService.php
749 bytes
0644
ProductPageIntegration.php
7147 bytes
0644
SignupResult.php
1030 bytes
0644
SignupService.php
18271 bytes
0644
N4ST4R_ID | Naxtarrr