HEX
Server: nginx/1.20.1
System: Linux VM-0-8-centos 3.10.0-1160.11.1.el7.x86_64 #1 SMP Fri Dec 18 16:34:56 UTC 2020 x86_64
User: www (1000)
PHP: 7.3.29
Disabled: passthru,system,chroot,chgrp,chown,shell_exec,popen,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,popepassthru,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,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
Upload Files
File: /www/wwwroot/www.ycfawu.com/wp-content/plugins/wpforms-lite/src/Db/Payments/ValueValidator.php
<?php

namespace WPForms\Db\Payments;

/**
 * ValueValidator class.
 *
 * This class is used to validate values for the Payments DB table.
 *
 * @since 1.8.2
 */
class ValueValidator {

	/**
	 * Check if value is valid for the given column.
	 *
	 * @since 1.8.2
	 *
	 * @param string $value  Value to check if is valid.
	 * @param string $column Database column name.
	 *
	 * @return bool
	 */
	public static function is_valid( $value, $column ) {

		$method = 'get_allowed_' . self::get_plural_column_name( $column );

		if ( ! method_exists( __CLASS__, $method ) ) {
			return false;
		}

		return isset( self::$method()[ $value ] );
	}

	/**
	 * Get allowed modes.
	 *
	 * @since 1.8.2
	 *
	 * @return array
	 */
	private static function get_allowed_modes() {

		return [
			'live' => esc_html__( 'Live', 'wpforms-lite' ),
			'test' => esc_html__( 'Test', 'wpforms-lite' ),
		];
	}

	/**
	 * Get allowed gateways.
	 *
	 * @since 1.8.2
	 *
	 * @return array
	 */
	public static function get_allowed_gateways() {

		/**
		 * Filter allowed gateways.
		 *
		 * @since 1.8.2
		 *
		 * @param array $gateways Array of allowed gateways.
		 */
		return (array) apply_filters(
			'wpforms_db_payments_value_validator_get_allowed_gateways',
			[
				'paypal_standard' => esc_html__( 'PayPal Standard', 'wpforms-lite' ),
				'paypal_commerce' => esc_html__( 'PayPal Commerce', 'wpforms-lite' ),
				'stripe'          => esc_html__( 'Stripe', 'wpforms-lite' ),
				'square'          => esc_html__( 'Square', 'wpforms-lite' ),
				'authorize_net'   => esc_html__( 'Authorize.net', 'wpforms-lite' ),
			]
		);
	}

	/**
	 * Get allowed statuses.
	 *
	 * @since 1.8.2
	 *
	 * @return array
	 */
	public static function get_allowed_statuses() {

		return array_merge(
			[
				'processed' => __( 'Processed', 'wpforms-lite' ),
				'completed' => __( 'Completed', 'wpforms-lite' ),
				'pending'   => __( 'Pending', 'wpforms-lite' ),
				'refunded'  => __( 'Refunded', 'wpforms-lite' ),
			],
			self::get_allowed_subscription_statuses()
		);
	}

	/**
	 * Get allowed subscription statuses.
	 *
	 * @since 1.8.2
	 *
	 * @return array
	 */
	public static function get_allowed_subscription_statuses() {

		return [
			'not-synced' => __( 'Not Synced', 'wpforms-lite' ),
			'active'     => __( 'Active', 'wpforms-lite' ),
			'failed'     => __( 'Failed', 'wpforms-lite' ),
			'cancelled'  => __( 'Cancelled', 'wpforms-lite' ),
		];
	}

	/**
	 * Get allowed types.
	 *
	 * @since 1.8.2
	 *
	 * @return array
	 */
	public static function get_allowed_types() {

		return array_merge(
			[
				'one-time' => __( 'One-time', 'wpforms-lite' ),
			],
			self::get_allowed_subscription_types()
		);
	}

	/**
	 * Get allowed subscription types.
	 *
	 * @since 1.8.2
	 *
	 * @return array
	 */
	public static function get_allowed_subscription_types() {

		return [
			'subscription' => __( 'Subscription', 'wpforms-lite' ),
			'renewal'      => __( 'Renewal', 'wpforms-lite' ),
		];
	}

	/**
	 * Get allowed subscription intervals.
	 * The measurement of time between billing occurrences for an automated recurring billing subscription.
	 *
	 * @since 1.8.2
	 *
	 * @return array
	 */
	public static function get_allowed_subscription_intervals() {

		return [
			'daily'      => esc_html__( 'day', 'wpforms-lite' ),
			'weekly'     => esc_html__( 'week', 'wpforms-lite' ),
			'monthly'    => esc_html__( 'month', 'wpforms-lite' ),
			'quarterly'  => esc_html__( 'quarter', 'wpforms-lite' ),
			'semiyearly' => esc_html__( 'semi-year', 'wpforms-lite' ),
			'yearly'     => esc_html__( 'year', 'wpforms-lite' ),
		];
	}

	/**
	 * Map singular to plural column names.
	 *
	 * @since 1.8.2
	 *
	 * @param string $column Column name.
	 *
	 * @return string
	 */
	private static function get_plural_column_name( $column ) {

		$map = [
			'mode'                => 'modes',
			'gateway'             => 'gateways',
			'status'              => 'statuses',
			'type'                => 'types',
			'subscription_type'   => 'subscription_types',
			'subscription_status' => 'subscription_statuses',
		];

		return isset( $map[ $column ] ) ? $map[ $column ] : $column;
	}
}