<?php namespace Give\DonationForms\DataTransferObjects; use function strlen; /** * @since 3.0.0 */ class DonationConfirmationReceiptViewRouteData { /** * @var string|null */ public $receiptId; /** * @since 3.0.0 */ public static function fromRequest(array $request): self { $self = new self(); $self->receiptId = isset($request['receipt-id']) && $self::isReceiptIdValid( $request['receipt-id'] ) ? $request['receipt-id'] : null; return $self; } /** * The receipt ID is a md5 hash which has a 32 character length. * * @since 3.0.0 */ public static function isReceiptIdValid(string $receiptId): bool { return strlen($receiptId) === 32; } }