version 4.13.0
This commit is contained in:
110
includes/builder/class-et-builder-value.php
Normal file
110
includes/builder/class-et-builder-value.php
Normal file
@ -0,0 +1,110 @@
|
||||
<?php
|
||||
/**
|
||||
* Represent a simple value or a dynamic one.
|
||||
* Used for module attributes and content.
|
||||
*
|
||||
* @package Divi
|
||||
* @subpackage Builder
|
||||
* @since 3.17.2
|
||||
*/
|
||||
|
||||
/**
|
||||
* Class ET_Builder_Value.
|
||||
*/
|
||||
class ET_Builder_Value {
|
||||
/**
|
||||
* Flag whether the value is static or dynamic.
|
||||
*
|
||||
* @since 3.17.2
|
||||
*
|
||||
* @var bool
|
||||
*/
|
||||
protected $dynamic = false;
|
||||
|
||||
/**
|
||||
* Value content. Represents the dynamic content type when dynamic.
|
||||
*
|
||||
* @since 3.17.2
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $content = '';
|
||||
|
||||
/**
|
||||
* Array of dynamic content settings.
|
||||
*
|
||||
* @since 3.17.2
|
||||
*
|
||||
* @var mixed[]
|
||||
*/
|
||||
protected $settings = array();
|
||||
|
||||
/**
|
||||
* ET_Builder_Value constructor.
|
||||
*
|
||||
* @since 3.17.2
|
||||
*
|
||||
* @param boolean $dynamic Whether content is dynamic.
|
||||
* @param string $content Value content.
|
||||
* @param array $settings Dynamic content settings.
|
||||
*/
|
||||
public function __construct( $dynamic, $content, $settings = array() ) {
|
||||
$this->dynamic = $dynamic;
|
||||
$this->content = $content;
|
||||
$this->settings = $settings;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if the value is dynamic or not.
|
||||
*
|
||||
* @since 3.17.2
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function is_dynamic() {
|
||||
return $this->dynamic;
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieve the value content.
|
||||
*
|
||||
* @since 4.4.4
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function get_content() {
|
||||
return $this->content;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the resolved content.
|
||||
*
|
||||
* @since 3.17.2
|
||||
*
|
||||
* @param integer $post_id Post id.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function resolve( $post_id ) {
|
||||
if ( ! $this->dynamic ) {
|
||||
return $this->content;
|
||||
}
|
||||
|
||||
return et_builder_resolve_dynamic_content( $this->content, $this->settings, $post_id, 'display' );
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the static content or a serialized representation of the dynamic one.
|
||||
*
|
||||
* @since 3.17.2
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function serialize() {
|
||||
if ( ! $this->dynamic ) {
|
||||
return $this->content;
|
||||
}
|
||||
|
||||
return et_builder_serialize_dynamic_content( $this->dynamic, $this->content, $this->settings );
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user