OwlCyberSecurity - MANAGER
Edit File: class-redux-accordion.php
<?php /** * Redux Accordion Field Class * * @package Redux Extentions * @author Kevin Provance <kevin.provance@gmail.com> * @class Redux_Accordion */ defined( 'ABSPATH' ) || exit; // Don't duplicate me! if ( ! class_exists( 'Redux_Accordion' ) ) { /** * Main ReduxFramework_Accordion class * * @since 1.0.0 */ class Redux_Accordion extends Redux_Field { /** * Set field defaults. */ public function set_defaults() { $defaults = array( 'position' => 'end', 'style' => '', 'class' => '', 'title' => '', 'subtitle' => '', 'open' => '', 'open-icon' => 'el-plus', 'close-icon' => 'el-minus', ); $this->field = wp_parse_args( $this->field, $defaults ); } /** * Field Render Function. * Takes the vars and outputs the HTML for the field in the settings * * @since 1.0.0 * @access public * @return void */ public function render() { $guid = uniqid(); $field_pos = ''; $add_class = ''; // primary container. if ( 'start' === $this->field['position'] ) { $add_class = ' form-table-accordion'; $field_pos = 'start'; } elseif ( 'end' === $this->field['position'] ) { $add_class = ' hide'; $field_pos = 'end'; } echo '<input type="hidden" id="accordion-' . esc_attr( $this->field['id'] ) . '-marker" data-open-icon="' . esc_attr( $this->field['open-icon'] ) . '" data-close-icon="' . esc_attr( $this->field['close-icon'] ) . '"></td></tr></table>'; $is_open = false; if ( isset( $this->field['open'] ) && true === $this->field['open'] ) { $is_open = true; } echo '<div data-state="' . esc_attr( $is_open ) . '" data-position="' . esc_attr( $field_pos ) . '" id="' . esc_attr( $this->field['id'] ) . '" class="redux-accordion-field redux-field ' . esc_attr( $this->field['style'] ) . esc_attr( $this->field['class'] ) . '">'; echo '<div class="control">'; echo '<div class="redux-accordion-info' . esc_attr( $add_class ) . '">'; if ( ! empty( $this->field['title'] ) ) { echo '<h3>' . esc_html( $this->field['title'] ) . '</h3>'; } $icon_class = ''; if ( ! empty( $this->field['subtitle'] ) ) { echo '<div class="redux-accordion-desc">' . esc_html( $this->field['subtitle'] ) . '</div>'; $icon_class = ' subtitled'; } echo '<span class="el el-plus' . esc_attr( $icon_class ) . '"></span>'; echo '</div>'; echo '</div>'; echo '</div>'; echo '<table id="accordion-table-' . esc_attr( $this->field['id'] ) . '" data-id="' . esc_attr( $this->field['id'] ) . '" class="form-table form-table-accordion no-border' . esc_attr( $add_class ) . '"><tbody><tr class="hide"><th></th><td id="' . esc_attr( $guid ) . '">'; } /** * Enqueue Function. * If this field requires any scripts, or css define this function and register/enqueue the scripts/css * * @since 1.0.0 * @access public * @return void */ public function enqueue() { // Set up min files for dev_mode = false. $min = Redux_Functions::isMin(); // Field dependent JS. wp_enqueue_script( 'redux-field-accordion', $this->url . 'redux-accordion' . $min . '.js', array( 'jquery', 'redux-js' ), Redux_Extension_Accordion::$version, true ); // Field CSS. if ( $this->parent->args['dev_mode'] ) { wp_enqueue_style( 'redux-field-accordion', $this->url . 'redux-accordion.css', array(), Redux_Extension_Accordion::$version ); } } } }