'', 'id' => '', ), $args ); extract( $defaults ); self::$parent_args = $defaults; $html = sprintf( '
%s
', FusionCore_Plugin::attributes( 'toggle-shortcode' ), FusionCore_Plugin::attributes( 'toggle-shortcode-panelgroup' ), do_shortcode( $content ) ); $this->accordian_counter++; return $html; } function attr() { $attr = array(); $attr['class'] = 'accordian fusion-accordian'; if( self::$parent_args['class'] ) { $attr['class'] .= ' ' . self::$parent_args['class']; } if( self::$parent_args['id'] ) { $attr['id'] = self::$parent_args['id']; } return $attr; } function panelgroup_attr() { $attr = array(); $attr['class'] = 'panel-group'; $attr['id'] = 'accordion-' . $this->accordian_counter; return $attr; } /** * Render the child shortcode * @param array $args Shortcode paramters * @param string $content Content between shortcode * @return string HTML output */ function render_child( $args, $content = '') { $defaults = FusionCore_Plugin::set_shortcode_defaults( array( 'open' => 'no', 'title' => '', ), $args ); extract( $defaults ); self::$child_args = $defaults; self::$child_args['toggle_class'] = ''; if( $open == 'yes' ) { self::$child_args['toggle_class'] = 'in'; } $this->collapse_id = substr( md5( sprintf( 'collapse-%s-%s', $this->accordian_counter, $this->collapse_counter ) ), 15 ); $html = sprintf( '

%s

%s
', FusionCore_Plugin::attributes( 'fusion-panel panel-default' ), FusionCore_Plugin::attributes( 'panel-heading' ), FusionCore_Plugin::attributes( 'panel-title toggle' ), FusionCore_Plugin::attributes( 'toggle-shortcode-data-toggle' ), FusionCore_Plugin::attributes( 'toggle-shortcode-fa-icon' ), $title, FusionCore_Plugin::attributes( 'toggle-shortcode-collapse' ), FusionCore_Plugin::attributes( 'panel-body toggle-content' ), do_shortcode($content)); $this->collapse_counter++; return $html; } function fa_icon_attr() { $attr = array(); $attr['class'] = 'fa-fusion-box'; return $attr; } function data_toggle_attr() { $attr = array(); if( self::$child_args['open'] == 'yes' ) { $attr['class'] = 'active'; } $attr['data-toggle'] = 'collapse'; $attr['data-parent'] = '#accordion-' . $this->accordian_counter; $attr['data-target'] = '#' . $this->collapse_id; $attr['href'] = '#' . $this->collapse_id; return $attr; } function collapse_attr() { $attr = array(); $attr['id'] = $this->collapse_id; $attr['class'] = 'panel-collapse collapse ' . self::$child_args['toggle_class']; return $attr; } } new FusionSC_Toggle();