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/ajels/public_html/wp-content/plugins/ninja-forms/includes/Entities/ |
Upload File : |
<?php namespace NinjaForms\Includes\Entities; use JsonSerializable; class TelemetryLegacyRequest implements JsonSerializable { const STRUCTURE = [ 'slug' => 'string', 'data' => 'array', 'site_data' => 'array' ]; public string $slug = ''; public array $data = []; public array $site_data = []; /** * Construct entity from array * * @param array $array * @return TelemetryLegacyRequest */ public static function fromArray(array $array): TelemetryLegacyRequest { $obj = new static(); foreach (self::STRUCTURE as $property => $propertyType) { $addThis = false; if (isset($array[$property])) { switch ($propertyType) { case 'string': if (is_string($array[$property])) { $addThis = true; } break; case 'array': if (\is_array($array[$property])) { $addThis = true; } elseif (\is_string($array[$property])) { // allowed to come in as JSON $array[$property] = \json_decode($array[$property], true); $addThis = true; } break; case 'bool': if (\is_bool($array[$property])) { $addThis = true; } break; default: // do not add if property type is not specified } } if ($addThis) { $obj->$property = $array[$property]; } } return $obj; } /** @inheritDoc */ public function toArray() { $return = []; foreach (array_keys(self::STRUCTURE) as $property) { $return[$property] = $this->$property; } return $return; } /** @inheritDoc */ #[\ReturnTypeWillChange] public function jsonSerialize() { return $this->toArray(); } }