403Webshell
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 :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/ajels/public_html/wp-content/plugins/ninja-forms/includes/Entities/Usage.php
<?php

namespace NinjaForms\Includes\Entities;

use JsonSerializable;

class Usage implements JsonSerializable
{
    const STRUCTURE = [
        'site_id' => 'int',
        'plugin' => 'array',
        'forms' => 'array',
        'fields' => 'array',
        'field_settings' => 'array',
        'actions' => 'array',
        'action_settings' => 'array',
        'display_settings' => 'array',
        'restrictions' => 'array',
        'calculations' => 'array',
        'submissions' => 'array',
        'settings' => 'array'
    ];

    public int $site_id = 0;
    public array $plugin = [];
    public array $forms = [];
    public array $fields = [];
    public array $field_settings = [];
    public array $actions = [];
    public array $action_settings = [];
    public array $display_settings = [];
    public array $restrictions = [];
    public array $calculations = [];
    public array $submissions = [];
    public array $settings = [];

    /**
     * Construct entity from array
     *
     * @param array $array
     * @return Usage
     */
    public static function fromArray(array $array): Usage
    {
        $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;
                        }
                    case 'bool':
                        if (\is_bool($array[$property])) {
                            $addThis = true;
                        }
                        break;
                    case 'int':
                        if (\is_int($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();
    }
}

Youez - 2016 - github.com/yon3zu
LinuXploit