uawdijnntqw1x1x1
IP : 216.73.216.109
Hostname : premium160.web-hosting.com
Kernel : Linux premium160.web-hosting.com 4.18.0-553.54.1.lve.el8.x86_64 #1 SMP Wed Jun 4 13:01:13 UTC 2025 x86_64
Disable Function : None :)
OS : Linux
PATH:
/
home
/
batcwwjx
/
www
/
wp-content
/
plugins
/
woocommerce
/
.
/
src
/
Internal
/
.
/
StockNotifications
/
Config.php
/
/
<?php declare( strict_types = 1 ); namespace Automattic\WooCommerce\Internal\StockNotifications; use Automattic\WooCommerce\Enums\ProductType; use Automattic\WooCommerce\Enums\ProductStockStatus; use Automattic\WooCommerce\Enums\ProductStatus; /** * Configuration class for stock notifications. */ class Config { /** * Runtime cache for supported product types. * * @var array<string> */ private static $supported_product_types; /** * Runtime cache for supported product statuses. * * @var array<string> */ private static $supported_product_statuses; /** * Runtime cache for eligible stock statuses. * * @var array<string> */ private static $eligible_stock_statuses; /** * Runtime cache for verification expiration time threshold. * * @var int */ private static $verification_expiration_time_threshold; /** * Get the supported product types. * * @return array<string> */ public static function get_supported_product_types(): array { if ( is_array( self::$supported_product_types ) ) { return self::$supported_product_types; } /** * Filter: woocommerce_customer_stock_notifications_supported_product_types * * @since 10.2.0 * * @param array $product_types Product types. */ self::$supported_product_types = (array) apply_filters( 'woocommerce_customer_stock_notifications_supported_product_types', array( ProductType::SIMPLE, ProductType::VARIABLE, ProductType::VARIATION, ) ); return self::$supported_product_types; } /** * Get the supported product stock statuses. * * @return array<string> */ public static function get_supported_product_statuses(): array { if ( is_array( self::$supported_product_statuses ) ) { return self::$supported_product_statuses; } /** * Filter: woocommerce_customer_stock_notifications_supported_product_stock_statuses * * @since 10.2.0 * * @param array $product_stock_statuses Product stock statuses. */ self::$supported_product_statuses = (array) apply_filters( 'woocommerce_customer_stock_notifications_supported_product_stock_statuses', array( ProductStatus::PUBLISH, ) ); return self::$supported_product_statuses; } /** * Get the eligible stock statuses that trigger sending notifications. * * @return array<string> */ public static function get_eligible_stock_statuses(): array { if ( is_array( self::$eligible_stock_statuses ) ) { return self::$eligible_stock_statuses; } /** * Filter: woocommerce_customer_stock_notifications_supported_stock_statuses * * @since 10.2.0 * * @param array $stock_statuses Stock statuses. */ self::$eligible_stock_statuses = (array) apply_filters( 'woocommerce_customer_stock_notifications_supported_stock_statuses', array( ProductStockStatus::IN_STOCK, ProductStockStatus::ON_BACKORDER, ) ); return self::$eligible_stock_statuses; } /** * Get the metadata name for product-level signups. * * @return string */ public static function get_product_signups_meta_key(): string { return 'customer_stock_notifications_enable_signups'; } /** * Check if signups are allowed. * * @return bool */ public static function allows_signups(): bool { return 'yes' === get_option( 'woocommerce_customer_stock_notifications_allow_signups', 'no' ); } /** * Check if double opt-in is required. * * @return bool */ public static function requires_double_opt_in(): bool { return 'yes' === get_option( 'woocommerce_customer_stock_notifications_require_double_opt_in', 'no' ); } /** * Check if an account is required. * * @return bool */ public static function requires_account(): bool { return 'yes' === get_option( 'woocommerce_customer_stock_notifications_require_account', 'no' ); } /** * Check if an account is created on signup. * * @return bool */ public static function creates_account_on_signup(): bool { return 'yes' === get_option( 'woocommerce_customer_stock_notifications_create_account_on_signup', 'no' ); } /** * How long to keep pending notifications before deleting them (in days). * * @return int */ public static function get_unverified_deletion_days_threshold(): int { return absint( get_option( 'woocommerce_customer_stock_notifications_unverified_deletions_days_threshold', 0 ) ); } /** * Returns verification codes expiration time threshold (in seconds). * * @return int */ public static function get_verification_expiration_time_threshold(): int { if ( ! is_null( self::$verification_expiration_time_threshold ) ) { return self::$verification_expiration_time_threshold; } /** * Filter the verification codes expiration time (in seconds). * * @param int $threshold * @since 10.2.0 */ self::$verification_expiration_time_threshold = (int) apply_filters( 'woocommerce_customer_stock_notifications_verification_expiration_time_threshold', HOUR_IN_SECONDS ); return self::$verification_expiration_time_threshold; } }
/home/batcwwjx/www/wp-content/plugins/woocommerce/./src/Internal/./StockNotifications/Config.php