version 4.13.0

This commit is contained in:
2021-12-07 11:08:05 +00:00
commit cb26d2c0c4
1285 changed files with 254735 additions and 0 deletions

View File

@ -0,0 +1,31 @@
<?php
/**
* Class ET_Builder_Module_Field_Template_Base
* Base class for field renderers in BB
*/
abstract class ET_Builder_Module_Field_Template_Base {
/**
* @param $field
* @param $render_helper
*
* @return template
*/
abstract public function render( $field, $render_helper );
protected function _render_icon( $icon_name ) {
return '<div class="et-pb-icon">
<svg viewBox="0 0 28 28" preserveAspectRatio="xMidYMid meet" shapeRendering="geometricPrecision"><%= et_builder_template_options.options_icons[ "' . esc_attr( $icon_name ) . '" ] %></svg>
</div>';
}
protected function _wrap_field_name( $name ) {
// Don't add 'et_pb_' prefix to the "Admin Label" field
if ( 'admin_label' === $name ) {
return $name;
}
return 'et_pb_' . $name;
}
}

View File

@ -0,0 +1,76 @@
<?php
require_once ET_BUILDER_DIR . 'module/field/template/Base.php';
class ET_Builder_Module_Field_Template_Tabbed extends ET_Builder_Module_Field_Template_Base {
/**
* @param $field array Field settings
* @param $render_helper ET_Builder_Element
*
* @return string Control rendered html
*/
public function render( $field, $render_helper ) {
ob_start();
if ( ! empty( $field['composite_structure'] ) && is_array( $field['composite_structure'] ) ) {
?>
<div class="et-pb-composite-tabbed-wrapper">
<div id="<?php echo esc_attr( $this->_wrap_field_name( $field['name'] ) ); ?>" class="<?php echo esc_attr( $this->_get_control_class() ); ?>" data-attr-suffix="<?php echo esc_attr( $field['attr_suffix'] ); ?>">
<div class="et-pb-outside-preview-container">
<?php echo et_core_esc_previously( $this->_render_outside_preview() ); ?>
</div>
<ul class="et-pb-settings-tabs">
<?php foreach ( $field['composite_structure'] as $tab => $structure ) : ?>
<li class="et-pb-settings-tab">
<a href="#" class="et-pb-settings-tab-title" data-tab="<?php echo esc_attr( $tab ); ?>">
<?php
if ( isset( $structure['label'] ) && ! empty( $structure['label'] ) ) {
echo esc_html( $structure['label'] );
}
// render the icon if there is one defined.
if ( isset( $structure['icon'] ) && ! empty( $structure['icon'] ) ) {
echo et_core_esc_previously( $this->_render_icon( esc_html( $structure['icon'] ) ) );
}
?>
</a>
</li>
<?php endforeach; ?>
</ul>
<?php foreach ( $field['composite_structure'] as $tab => $structure ) : ?>
<div class="et-pb-settings-tab-content" data-tab="<?php echo esc_attr( $tab ); ?>">
<div class="et-pb-tab-preview-container" data-tab="<?php echo esc_attr( $tab ); ?>">
<?php echo et_core_esc_previously( $this->_render_tab_preview( $tab ) ); ?>
</div>
<?php if ( ! empty( $structure['controls'] ) && is_array( $structure['controls'] ) ) : ?>
<?php foreach ( $structure['controls'] as $name => $control ) : ?>
<?php $control['name'] = $name; ?>
<?php $control['tab_slug'] = $field['tab_slug']; ?>
<?php $hidden = 'hidden' === $control['type'] ? ' et_pb_hidden' : ''; ?>
<div class="et-pb-composite-option et-pb-composite-tabbed-option et-pb-option<?php echo et_core_intentionally_unescaped( $hidden, 'fixed_string' ); ?>" data-control-index="<?php echo esc_attr( $name ); ?>" data-option_name="<?php echo esc_attr( $name ); ?>">
<?php echo et_core_esc_previously( $render_helper->wrap_settings_option_label( $control ) ); ?>
<?php echo et_core_esc_previously( $render_helper->wrap_settings_option_field( $control, $name ) ); ?>
</div>
<?php endforeach; ?>
<?php endif; ?>
</div>
<?php endforeach; ?>
</div>
</div>
<span class="et-pb-reset-setting et-pb-reset-skip et-pb-composite-tabbed-reset-setting"></span>
<?php
}
return ob_get_clean();
}
protected function _render_outside_preview() {
return '';
}
protected function _render_tab_preview( $tab ) {
return '';
}
protected function _get_control_class() {
return 'et-pb-composite-tabbed';
}
}

View File

@ -0,0 +1,73 @@
<?php
require_once ET_BUILDER_DIR . 'module/field/template/Base.php';
class ET_Builder_Module_Field_Template_Border_Radius extends ET_Builder_Module_Field_Template_Base {
public function render( $field, $render_helper ) {
ob_start();
?>
<div class="et-pb-border-radius-wrap">
<div class="et-pb-border-radius-wrap-column">
<div class="et-pb-border-radius-top-left">
<input class="et-pb-border-radius-option-input"
type="text"
value=""
data-corner="top-left"
/>
</div>
<div class="et-pb-border-radius-bottom-left">
<input class="et-pb-border-radius-option-input"
type="text"
value=""
data-corner="bottom-left"
/>
</div>
</div>
<div class="et-pb-border-radius-wrap-column">
<div class="et-pb-border-radius-preview">
<div class="et-pb-border-radius-wrap-link-button">
<a href="#" class="">
<?php echo et_core_esc_previously( $this->_render_icon( 'border-link' ) ); ?>
</a>
</div>
</div>
</div>
<div class="et-pb-border-radius-wrap-column">
<div class="et-pb-border-radius-top-right">
<input class="et-pb-border-radius-option-input"
type="text"
value=""
data-corner="top-right"
/>
</div>
<div class="et-pb-border-radius-bottom-right">
<input class="et-pb-border-radius-option-input"
type="text"
value=""
data-corner="bottom-right"
/>
</div>
</div>
</div>
<span class="et-pb-reset-setting"></span>
<?php
$name = $render_helper->get_field_name( $field );
// Avoid underscore's _.template() being treated as PHP tags when PHP server's asp_tags is enabled
$value_open_tag = '<%-';
$value_close_tag = '%>';
?>
<?php $attr_name = $render_helper->get_type() === 'child' ? 'data.' . esc_attr( $name ) : esc_attr( $name ); ?>
<?php $default = isset( $field['default'] ) ? $field['default'] : 'on||||'; ?>
<input id="<?php echo esc_attr( $name ); ?>"
type="hidden"
name="<?php echo esc_attr( $name ); ?>"
data-default="<?php echo esc_attr( $default ); ?>"
value="<?php echo et_core_intentionally_unescaped( $value_open_tag, 'fixed_string' ); ?> typeof( <?php echo esc_attr( $attr_name ); ?> ) !== 'undefined' ? <?php echo esc_attr( $attr_name ) . '.replace(/%91/g, "[").replace(/%93/g, "]").replace(/%22/g, "\"")'; ?> : '' <?php echo et_core_intentionally_unescaped( $value_close_tag, 'fixed_string' ); ?>"
class="et-pb-main-setting"
/>
<?php
return ob_get_clean();
}
}

View File

@ -0,0 +1,20 @@
<?php
require_once ET_BUILDER_DIR . 'module/field/template/Tabbed.php';
class ET_Builder_Module_Field_Template_Border_Styles extends ET_Builder_Module_Field_Template_Tabbed {
protected function _get_control_class() {
return 'et-pb-composite-tabbed-border-style';
}
protected function _render_tab_preview( $tab ) {
ob_start();
?>
<div class="et-pb-tab-preview-container-column">
<div class="et-pb-tab-preview-container-preview"></div>
</div>
<?php
return ob_get_clean();
}
}