Server IP : 172.24.0.40 / Your IP : 216.73.216.10 Web Server : Apache System : Linux dbweb26.ust.edu.ph 4.18.0-513.5.1.el8_9.x86_64 #1 SMP Fri Sep 29 05:21:10 EDT 2023 x86_64 User : apache ( 48) PHP Version : 8.2.18 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/tomas/public_html/wp-content/plugins/ninja-forms/includes/Entities/ |
Upload File : |
<?php namespace NinjaForms\Includes\Entities; use NinjaForms\Includes\Entities\SimpleEntity; /** * Entity defining a submission field, including value if present * * Submission field is the submission value for a single field within a form's field collection */ class SubmissionField extends SimpleEntity { /** * Record id for the stored data * * @var string */ protected $id = ''; /** * Field slug * * @var string */ protected $slug = ''; /** * Field label * * @var string */ protected $label = ''; /** * Admin label * * @var string */ protected $adminLabel = ''; /** * Field type * * @var string */ protected $type = ''; /** * Indexed collection of option label/value/calc * * @var array */ protected $options =[]; /** * Indexed collection of fieldset repeater fields as arrays within parent field * * @var array */ protected $fieldsetRepeaterFields = []; /** * Array of complete field settings * * Original source is from NF DB tables * * @var array */ protected $original=[]; /** * Submission value, null by default * * @var mixed */ protected $value = null; /** * Construct entity from associative array * * @param array $items * @return SubmissionField */ public static function fromArray(array $items): SubmissionField { $obj = new static(); foreach ($items as $property => $value) { $obj = $obj->__set($property, $value); } //filter repeater field data if($obj->type === "repeater" && !empty($obj->fieldsetRepeaterFields) && !empty($items["value"])){ $fieldIDs = []; foreach($obj->fieldsetRepeaterFields as $fieldsetRepeaterField){ array_push( $fieldIDs, $fieldsetRepeaterField['id']); } foreach($obj->value as $id => $valueArr){ $repeaterFieldID = substr($valueArr['id'], 0, strpos($valueArr['id'], "_")); if(!in_array($repeaterFieldID, $fieldIDs)){ unset($obj->value[$id]); } } } return $obj; } /** * Get field Id * * @return string */ public function getId() { return $this->id; } /** * Set field database record id * * @param string $id Field Id * * @return SubmissionField */ public function setId(string $id): SubmissionField { $this->id = $id; return $this; } /** * Get field slug * * @return string */ public function getSlug(): string { return $this->slug; } /** * Set field slug * * @param string $slug Field slug * * @return SubmissionField */ public function setSlug(string $slug): SubmissionField { $this->slug = $slug; return $this; } /** * Get field label * * @return string */ public function getLabel(): string { return $this->label; } /** * Set field label * * @param string $label Field label * * @return SubmissionField */ public function setLabel(string $label): SubmissionField { $this->label = $label; return $this; } /** * Get amdin label * * @return string */ public function getAdminLabel(): string { return $this->adminLabel; } /** * Set amdin label * * @param string $adminLabel Admin label * * @return SubmissionField */ public function setAdminLabel(string $adminLabel): SubmissionField { $this->adminLabel = $adminLabel; return $this; } /** * Get field type * * @return string */ public function getType(): string { return $this->type; } /** * Set field type * * @param string $type Field type * * @return SubmissionField */ public function setType(string $type): SubmissionField { $this->type = $type; return $this; } /** * Get submission Value * * @return mixed */ public function getValue() { return $this->value; } /** * Set submission Value * * @param mixed $value Submission Value * * @return self */ public function setValue($value): SubmissionField { $this->value = $value; return $this; } /** * Get indexed collection of option label/value/calc * * @return array */ public function getOptions():array { return $this->options; } /** * Set indexed collection of option label/value/calc * * @param array $options Indexed collection of option label/value/calc * * @return SubmissionField */ public function setOptions(array $options):SubmissionField { $this->options = $options; return $this; } /** * Get Indexed collection of fieldset repeater fields within parent field * * @return array */ public function getFieldsetRepeaterFields():array { return $this->fieldsetRepeaterFields; } /** * Set Indexed collection of fieldset repeater fields within parent field * * @param SubmissionField[] $fieldsetRepeater Indexed collection of fieldset repeater fields within parent field * * @return SubmissionField */ public function setFieldsetRepeaterFields(array $fieldsetRepeaterCollection):SubmissionField { $this->fieldsetRepeaterFields = $fieldsetRepeaterCollection; return $this; } /** * Get original field settings as stored in NF DB tables * * @return array */ public function getOriginal():array { return $this->original; } /** * Set original source field settings (from NF DB tables) * * @param array $original Original source is from NF DB tables * * @return SubmissionField */ public function setOriginal(array $original):SubmissionField { $this->original = $original; return $this; } }