Server IP : 192.158.238.246 / Your IP : 3.143.110.165 Web Server : LiteSpeed System : Linux uniform.iwebfusion.net 4.18.0-553.27.1.lve.1.el8.x86_64 #1 SMP Wed Nov 20 15:58:00 UTC 2024 x86_64 User : jenniferflocom ( 1321) PHP Version : 8.1.32 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /proc/7779/task/7779/cwd/plugins/give/src/DonationForms/Rules/ |
Upload File : |
<?php namespace Give\DonationForms\Rules; use Closure; use Give\Donations\ValueObjects\DonationType; use Give\Subscriptions\ValueObjects\SubscriptionPeriod; use Give\Vendors\StellarWP\Validation\Contracts\Sanitizer; use Give\Vendors\StellarWP\Validation\Contracts\ValidatesOnFrontEnd; use Give\Vendors\StellarWP\Validation\Contracts\ValidationRule; class SubscriptionPeriodRule implements ValidationRule, ValidatesOnFrontEnd, Sanitizer { /** * @since 3.0.0 */ public static function id(): string { return 'subscriptionPeriod'; } /** * @since 3.0.0 */ public static function fromString(string $options = null): ValidationRule { return new self(); } /** * @since 3.0.0 */ public function __invoke($value, Closure $fail, string $key, array $values) { $periods = array_values(SubscriptionPeriod::toArray()); $donationType = new DonationType($values['donationType']); if ($donationType->isSubscription() && !in_array($value, $periods, true)) { $fail( sprintf( __('%s must be a valid subscription period. Valid periods are: %s', 'give'), '{value}', implode( ', ', $periods ) ) ); } } /** * @since 3.0.0 * @return SubscriptionPeriod|null */ public function sanitize($value) { if (SubscriptionPeriod::search($value)) { return new SubscriptionPeriod($value); } return null; } /** * @since 3.0.0 */ public function serializeOption() { // TODO: Implement serializeOption() method. } }