. * * @package ReduxFramework * @subpackage Field_Info * @author Daniel J Griffiths (Ghost1227) * @author Dovy Paukstys * @version 3.0.0 */ // Exit if accessed directly if ( ! defined( 'ABSPATH' ) ) { exit; } // Don't duplicate me! if ( ! class_exists( 'ReduxFramework_info' ) ) { /** * Main ReduxFramework_info class * * @since 1.0.0 */ class ReduxFramework_info { /** * Field Constructor. * Required - must call the parent constructor, then assign field and value to vars, and obviously call the render field function * * @since 1.0.0 * @access public * @return void */ function __construct( $field = array(), $value = '', $parent ) { $this->parent = $parent; $this->field = $field; $this->value = $value; } /** * 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() { $defaults = array( 'title' => '', 'desc' => '', 'notice' => true, 'style' => '', 'color' => '', ); $this->field = wp_parse_args( $this->field, $defaults ); $styles = array( 'normal', 'info', 'warning', 'success', 'critical', 'custom' ); if (!in_array($this->field['style'], $styles)) { $this->field['style'] = 'normal'; } if ($this->field['style'] == "custom") { if (!empty($this->field['color']) ) { $this->field['color'] = "border-color:".$this->field['color'].';'; } else { $this->field['style'] = 'normal'; $this->field['color'] = ""; } } else { $this->field['color'] = ""; } if ( empty( $this->field['desc'] ) && ! empty( $this->field['default'] ) ) { $this->field['desc'] = $this->field['default']; unset( $this->field['default'] ); } if ( empty( $this->field['desc'] ) && ! empty( $this->field['subtitle'] ) ) { $this->field['desc'] = $this->field['subtitle']; unset( $this->field['subtitle'] ); } if ( empty( $this->field['desc'] ) ) { $this->field['desc'] = ""; } if ( empty( $this->field['raw_html'] ) ) { if ( $this->field['notice'] == true ) { $this->field['class'] .= ' redux-notice-field'; } else { $this->field['class'] .= ' redux-info-field'; } $this->field['style'] = 'redux-' . $this->field['style'] . ' '; } $indent = ( isset( $this->field['sectionIndent'] ) && $this->field['sectionIndent'] ) ? ' form-table-section-indented' : ''; echo '
field['style']) . ' ' . esc_attr($this->field['class']) . ' redux-field-' . esc_attr($this->field['type']) . esc_attr($indent) . '"'.( !empty($this->field['color']) ? ' style="' . esc_attr($this->field['color']) . '"' : '' ) . '>'; if ( ! empty( $this->field['raw_html'] ) && $this->field['raw_html'] ) { echo wp_kses_post($this->field['desc']); } else { if ( isset( $this->field['title'] ) && ! empty( $this->field['title'] ) ) { $this->field['title'] = '' . wp_kses_post($this->field['title']) . '
'; } if ( isset( $this->field['icon'] ) && ! empty( $this->field['icon'] ) && $this->field['icon'] !== true ) { echo '

'; } if ( isset( $this->field['raw'] ) && ! empty( $this->field['raw'] ) ) { echo wp_kses_post($this->field['raw']); } if ( ! empty( $this->field['title'] ) || ! empty( $this->field['desc'] ) ) { echo '

' . wp_kses_post($this->field['title']) . wp_kses_post($this->field['desc']) . '

'; } } echo '
'; } /** * 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() { if ($this->parent->args['dev_mode']) { wp_enqueue_style( 'redux-field-info-css', ReduxFramework::$_url . 'inc/fields/info/field_info.css', array(), time(), 'all' ); } } } }