HEX
Server: LiteSpeed
System: Linux vps30244.sdns.vn 3.10.0-1160.21.1.el7.x86_64 #1 SMP Tue Mar 16 18:28:22 UTC 2021 x86_64
User: admin (1001)
PHP: 7.4.30
Disabled: show_source, system, shell_exec, passthru, exec, popen, proc_open
Upload Files
File: /home/hcb48/public_html/wp-content/themes/flatsome/inc/builder/core/server/src/Post/PostOptions.php
<?php

namespace UxBuilder\Post;

use UxBuilder\Options\Options;

class PostOptions {

  protected  $attributes;
  protected  $meta;

  public function __construct( $post ) {
    $attribute_options = apply_filters( 'ux_builder_post_options', array(), $post );
    $meta_options = apply_filters( 'ux_builder_meta_options', array(), $post );
    $meta = get_post_meta( $post->ID, null, true );

    $this->attributes = new Options( $attribute_options );
    $this->meta = new Options( $meta_options );

    foreach ( $this->attributes->get_options() as $name => $option ) {
      $option->set_value( $post->{$name} );
    }

    foreach ( $this->meta->get_options() as $name => $option ) {
        if ( array_key_exists( $name, $meta ) ) {
          $option->set_value( maybe_unserialize( $meta[$name][0] ) );
        }
    }
  }

  public function get_attributes_array() {
    return array(
      'values' => $this->attributes->get_values(),
      'options' => $this->attributes->to_array(),
    );
  }

  public function get_meta_array() {
    return array(
      'values' => $this->meta->get_values(),
      'options' => $this->meta->to_array(),
    );
  }
}