Commit inicial - WordPress Análisis de Precios Unitarios

- WordPress core y plugins
- Tema Twenty Twenty-Four configurado
- Plugin allow-unfiltered-html.php simplificado
- .gitignore configurado para excluir wp-config.php y uploads

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
root
2025-11-03 21:04:30 -06:00
commit a22573bf0b
24068 changed files with 4993111 additions and 0 deletions

View File

@@ -0,0 +1,232 @@
<?php
/**
* Thrive Themes - https://thrivethemes.com
*
* @package thrive-visual-editor
*/
if ( ! defined( 'ABSPATH' ) ) {
exit; // Silence is golden!
}
/**
* Class TCB_Section_Element
*/
class TCB_Section_Element extends TCB_Element_Abstract {
/**
* Name of the element
*
* @return string
*/
public function name() {
return __( 'Background Section', 'thrive-cb' );
}
/**
* Get element alternate
*
* @return string
*/
public function alternate() {
return 'container,box,content';
}
/**
* Return icon class needed for display in menu
*
* @return string
*/
public function icon() {
return 'section';
}
/**
* Section element identifier
*
* @return string
*/
public function identifier() {
return '.thrv_page_section, .thrv-page-section';
}
/**
* Component and control config
*
* @return array
*/
public function own_components() {
$section = array(
'section' => array(
'config' => array(
'SectionHeight' => array(
'config' => array(
'default' => '1024',
'min' => '1',
'max' => '1000',
'label' => __( 'Section Minimum Height', 'thrive-cb' ),
'um' => [ 'px', 'vh' ],
'css' => 'min-height',
),
'to' => '.tve-page-section-in',
'extends' => 'Slider',
),
'ContentWidth' => array(
'config' => array(
'default' => '1024',
'min' => '100',
'max' => '2000',
'label' => __( 'Content Maximum Width', 'thrive-cb' ),
'um' => [ 'px', '%' ],
'css' => 'max-width',
),
'to' => '.tve-page-section-in',
'extends' => 'Slider',
),
'FullHeight' => array(
'config' => array(
'name' => '',
'label' => __( 'Match height to screen', 'thrive-cb' ),
'default' => true, //todo: this is useless
),
'to' => '.tve-page-section-in',
'extends' => 'Switch',
),
'ContentFullWidth' => array(
'config' => array(
'name' => '',
'label' => __( 'Content covers entire screen width', 'thrive-cb' ),
'default' => true, //todo: this is useless
),
'to' => '.tve-page-section-in',
'extends' => 'Switch',
),
'SectionFullWidth' => array(
'config' => array(
'name' => '',
'label' => __( 'Stretch to fit screen width', 'thrive-cb' ),
'default' => true, //todo: this is useless
),
'extends' => 'Switch',
),
'VerticalPosition' => array(
'config' => array(
'name' => __( 'Vertical Position', 'thrive-cb' ),
'buttons' => [
[
'icon' => 'top',
'default' => true,
'value' => '',
],
[
'icon' => 'vertical',
'value' => 'center',
],
[
'icon' => 'bot',
'value' => 'flex-end',
],
],
'info' => true,
),
'extends' => 'ButtonGroup',
),
),
),
'background' => [
'config' => [
'to' => '.tve-page-section-out',
],
'disabled_controls' => [],
],
'shadow' => [
'config' => [
'to' => '.tve-page-section-out',
],
],
'layout' => [
'disabled_controls' => [ 'Width', 'Alignment', 'Float', 'Position', 'PositionFrom' ],
'config' => [
'Height' => [
'to' => '.tve-page-section-in',
'important' => true,
],
],
],
'animation' => [
'hidden' => true,
],
'borders' => [
'config' => [
'Borders' => [],
'Corners' => [],
],
],
'typography' => [
'disabled_controls' => [],
'config' => [
'to' => '.tve-page-section-in',
'ParagraphStyle' => [ 'hidden' => false ],
],
],
'decoration' => [
'config' => [
'to' => '.tve-page-section-out',
],
],
'scroll' => [
'hidden' => false,
],
'conditional-display' => [
'hidden' => false,
],
);
if ( tcb_post()->is_landing_page() ) {
/**
* For Landing Pages we add this additional control
*/
$section['section']['config']['InheritFromLandingPage'] = array(
'config' => array(
'name' => '',
'label' => __( 'Inherit Width from Landing Page', 'thrive-cb' ),
),
'extends' => 'Switch',
);
}
return array_merge( $section, $this->shared_styles_component() );
}
/**
* Element category that will be displayed in the sidebar
*
* @return string
*/
public function category() {
return static::get_thrive_basic_label();
}
/**
* @return bool
*/
public function has_hover_state() {
return true;
}
/**
* Element info
*
* @return string|string[][]
*/
public function info() {
return [
'instructions' => [
'type' => 'help',
'url' => 'background_section',
'link' => 'https://help.thrivethemes.com/en/articles/4425770-how-to-use-the-background-section-element',
],
];
}
}