Server IP : 192.158.238.246 / Your IP : 18.118.14.81 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/root/home/jenniferflocom/www/wp-content/plugins/give/src/FormAPI/ |
Upload File : |
<?php namespace Give\FormAPI; use Give\FormAPI\Form\Colorpicker; use Give\FormAPI\Form\File; use Give\FormAPI\Form\Group; use Give\FormAPI\Form\Media; use Give\FormAPI\Form\Radio; use Give\FormAPI\Form\Select; use Give\FormAPI\Form\Text; use Give\FormAPI\Form\Textarea; use Give\FormAPI\Form\Wysiwyg; use Give\Framework\Exceptions\Primitives\InvalidArgumentException; final class Fields { /** * Field vs class name mapping array * * @since 2.7.0 * @var array */ private $fieldClasses = [ 'text' => Text::class, 'textarea' => Textarea::class, 'file' => File::class, 'media' => Media::class, 'radio' => Radio::class, 'wysiwyg' => Wysiwyg::class, 'colorpicker' => Colorpicker::class, 'group' => Group::class, 'select' => Select::class, ]; /** * Get field object. * * @since 2.7.0 * * @param array $array * * @return Form\Field */ public static function fromArray($array) { $field = new static(); $field->validate($array); /** * Filter the field classes * * @since 2.7.0 * * @param Form\Field[] $fieldClasses */ $field->fieldClasses = apply_filters('give_form_api_field_classes', $field->fieldClasses); /* @var Form\Field $fieldClass */ $fieldClass = $field->fieldClasses[$field->getFieldType($array['type'])]; return $fieldClass::fromArray($array); } /** * Get field class name. * Note: * 1. Field name create with {fieldType_modifier} logic. Use underscore in field type only if you want to add a modifier. For example: text_small, radio_inline etc. * 2. This function exist for backward compatibility and can be remove in future * * @since 2.7.0 * * @param $type * * @return string */ private function getFieldType($type) { if (false !== strpos($type, '_')) { $type = current(explode('_', $type, 2)); } return $type; } /** * Validate field arguments * * @since 2.7.0 * * @param array $array * * @throws InvalidArgumentException */ private function validate($array) { $required = ['id', 'name', 'type']; $array = array_filter($array); // Remove empty values. if (array_diff($required, array_keys($array))) { throw new InvalidArgumentException( __('To create a Field object, please provide valid id, name and type.', 'give') ); } } }