38217-vm/wp-content/themes/Avada/includes/lib/inc/redux/class-fusion-redux-addons.php
2026-02-05 17:08:59 +03:00

204 lines
3.8 KiB
PHP

<?php
/**
* Handles Redux Addons.
*
* @package Fusion-Library
* @since 1.0.0
*/
// Do not allow directly accessing this file.
if ( ! defined( 'ABSPATH' ) ) {
exit( 'Direct script access denied.' );
}
if ( class_exists( 'Fusion_Redux_Addons' ) ) {
return;
}
/**
* Handle loading Redux Addons for Fusion.
*
* @since 1.0.0
*/
class Fusion_Redux_Addons {
/**
* An array of our custom field types.
*
* @access public
* @var array
*/
public $field_types;
/**
* An array of our custom extension.
*
* @access public
* @var array
*/
public $extensions;
/**
* The path of the current file.
*
* @access public
* @var string
*/
public $path;
/**
* The option-name.
*
* @access public
* @var string
*/
public $option_name = 'fusion';
/**
* Constructor.
*
* @access public
* @since 1.0.0
* @param string $option_name The option-name.
*/
public function __construct( $option_name ) {
$this->option_name = $option_name;
// An array of all the custom fields we have.
$this->field_types = [
'typography',
'color_alpha',
'spacing',
'dimensions',
'border_radius',
'ace_editor',
'sortable',
'color_palette',
'iconpicker',
'typography_sets',
];
// An array of all our extensions.
$this->extensions = [
'search',
'accordion',
'vendorsupport',
'repeater',
];
$this->path = dirname( __FILE__ );
foreach ( $this->field_types as $field_type ) {
add_action( 'fusionredux/' . $this->option_name . '/field/class/' . $field_type, [ $this, 'register_' . $field_type ] );
}
foreach ( $this->extensions as $extension ) {
if ( class_exists( 'FusionRedux' ) ) {
FusionRedux::setExtensions( $this->option_name, $this->path . '/extensions/' . $extension . '/extension_' . $extension . '.php' );
}
}
}
/**
* Register the custom typography field
*
* @access public
* @since 1.0.0
*/
public function register_typography() {
return $this->path . '/custom-fields/typography/field_typography.php';
}
/**
* Register the custom ace_editor field
*
* @access public
* @since 1.0.0
*/
public function register_ace_editor() {
return $this->path . '/custom-fields/ace_editor/field_ace_editor.php';
}
/**
* Register the custom color_alpha field
*
* @access public
* @since 1.0.0
*/
public function register_color_alpha() {
return $this->path . '/custom-fields/color_alpha/field_color_alpha.php';
}
/**
* Register the custom spacing field
*
* @access public
* @since 1.0.0
*/
public function register_spacing() {
return $this->path . '/custom-fields/spacing/field_spacing.php';
}
/**
* Register the custom spacing field
*
* @access public
* @since 1.0.0
*/
public function register_border_radius() {
return $this->path . '/custom-fields/spacing/field_border_radius.php';
}
/**
* Register the custom dimensions field
*
* @access public
* @since 1.0.0
*/
public function register_dimensions() {
return $this->path . '/custom-fields/dimensions/field_dimensions.php';
}
/**
* Register the custom sortable field
*
* @access public
* @since 2.0
*/
public function register_sortable() {
return $this->path . '/custom-fields/sortable/field_sortable.php';
}
/**
* Register the custom color pallete field
*
* @access public
* @since 2.0
*/
public function register_color_palette() {
return $this->path . '/custom-fields/color_palette/field_color_palette.php';
}
/**
* Register the custom color pallete field
*
* @access public
* @since 2.0
*/
public function register_typography_sets() {
return $this->path . '/custom-fields/typography_sets/field_typography_sets.php';
}
/**
* Register the custom color pallete field
*
* @access public
* @since 3.4
*/
public function register_iconpicker() {
return $this->path . '/custom-fields/iconpicker/field_iconpicker.php';
}
}