PATH:
home
/
fengshp
/
www
/
wp-content
/
themes
/
themify-ultra
/
themify
/
themify-builder
/
modules
<?php defined('ABSPATH') || exit; /** * Module Name: Accordion * Description: Display Accordion content */ class TB_Accordion_Module extends Themify_Builder_Component_Module { public static function get_module_name():string { return __('Accordion', 'themify'); } public static function get_module_icon():string { return 'layout-accordion-merged'; } public static function get_js_css():array { return array( 'css' => 1, 'js' => 1 ); } /** * Render plain content for static content. * * @param array $module * @return string */ public static function get_static_content(array $module):string { $mod_settings = $module['mod_settings']+array( 'mod_title_accordion' => '', 'content_accordion' => array() ); $output = '' !== $mod_settings['mod_title_accordion']?sprintf('<h3>%s</h3>', $mod_settings['mod_title_accordion']):''; if ( ! empty( $mod_settings['content_accordion'] ) ) { $output .= '<ul>'; foreach ( $mod_settings['content_accordion'] as $accordion ) { $output .= '<li>'; if ( ! empty( $accordion['title_accordion'] ) ) { $output .= '<h4>' . $accordion['title_accordion'] . '</h4>'; } if ( isset( $accordion['text_accordion'] ) ) { $output .= $accordion['text_accordion']; } else if ( ! empty( $accordion['builder_content'] ) && is_array( $accordion['builder_content'] ) ) { $output .= ThemifyBuilder_Data_Manager::_get_all_builder_text_content( $accordion['builder_content'] ); } $output .= '</li>'; } $output .= '</ul>'; } return $output; } public static function subrow_attributes( $attr ) { remove_filter( 'themify_builder_subrow_attributes', [ __CLASS__, 'subrow_attributes' ] ); $attr['itemprop'] = 'text'; return $attr; } public static function get_styling_image_fields() : array { return [ 'bg_i' => [ ' .ui.module-accordion .accordion-title', ' .ui.module-accordion>li' ] ]; } public static function get_translatable_fields( $module, $classname ) : array { $fields = []; if ( ! empty( $module['mod_settings']['content_accordion'] ) ) { foreach ( $module['mod_settings']['content_accordion'] as $row_index => $acc ) { if ( isset( $acc['title_accordion'] ) ) { $fields[] = [ 'id' => 'title_accordion-' . $row_index, 'value' => $acc['title_accordion'] ]; } if ( isset( $acc['builder_content'] ) ) { foreach ( $acc['builder_content'] as $subrow ) { Themify_Builder_WPML_Integration::recursive_register_row_translatable_fields( $subrow ); } } } } return $fields; } public static function translate_module( $module_data, $translations ) { /* translate titles */ foreach ( $translations as $item_key => $value ) { list( $field, $index ) = explode( '-', $item_key ); if ( isset( $module_data['mod_settings']['content_accordion'][ $index ][ $field ] ) ) { $module_data['mod_settings']['content_accordion'][ $index ][ $field ] = $value; } } if ( ! empty( $module_data['mod_settings']['content_accordion'] ) ) { foreach ( $module_data['mod_settings']['content_accordion'] as $row_index => &$acc ) { if ( isset( $acc['builder_content'] ) ) { foreach ( $acc['builder_content'] as &$subrow ) { $subrow = Themify_Builder_WPML_Integration::recursive_translate_fields( $subrow ); } } } } return $module_data; } /** * Returns a flat array of all nested modules */ public static function get_nested_modules( array $data ) : array { $modules = []; if ( isset( $data['mod_settings']['content_accordion'][0]['builder_content'] ) ) { foreach ( $data['mod_settings']['content_accordion'] as $tab ) { foreach ( $tab['builder_content'] as $row ) { $modules = array_merge( $modules, Themify_Builder::_get_modules_recursive( $row ) ); } } } return $modules; } }
[+]
..
[-] module-page-break.php
[edit]
[-] module-lottie.php
[edit]
[-] module-menu.php
[edit]
[-] module-service-menu.php
[edit]
[-] module-text.php
[edit]
[-] module-post.php
[edit]
[-] module-social-share.php
[edit]
[-] module-login.php
[edit]
[-] module-callout.php
[edit]
[-] module-layout-part.php
[edit]
[-] module-slider.php
[edit]
[-] module-buttons.php
[edit]
[-] module-overlay-content.php
[edit]
[-] module-map.php
[edit]
[-] module-link-block.php
[edit]
[-] module-code.php
[edit]
[-] module-testimonial.php
[edit]
[-] module-star.php
[edit]
[-] module-alert.php
[edit]
[-] module-tab.php
[edit]
[-] module-highlight.php
[edit]
[-] module-widgetized.php
[edit]
[-] module-video.php
[edit]
[-] module-accordion.php
[edit]
[-] module-gallery.php
[edit]
[-] module-feature.php
[edit]
[-] module-divider.php
[edit]
[-] module-box.php
[edit]
[-] module-copyright.php
[edit]
[-] module-fancy-heading.php
[edit]
[-] module-plain-text.php
[edit]
[-] module-signup-form.php
[edit]
[-] module-widget.php
[edit]
[-] module-testimonial-slider.php
[edit]
[-] module-toc.php
[edit]
[-] module-icon.php
[edit]
[-] module-image.php
[edit]
[-] module-portfolio.php
[edit]
[-] module-optin.php
[edit]