Linux puskom-ProLiant-DL385-Gen10 5.4.0-150-generic #167~18.04.1-Ubuntu SMP Wed May 24 00:51:42 UTC 2023 x86_64
/
home
/
puskom
/
mastur
/
post-grid
/
includes
/
blocks
/
tabs-nested
/
//home/puskom/mastur/post-grid/includes/blocks/tabs-nested/index.php
<?php if (!defined('ABSPATH')) exit(); class PGBlockTabs { function __construct() { add_action('init', array($this, 'register_scripts')); add_action('wp_enqueue_scripts', array($this, 'front_scripts')); } function front_scripts($attributes) { wp_register_script('pgtabs_front_script', post_grid_plugin_url . 'includes/blocks/tabs-nested/front-scripts.js', [], '', true); wp_register_style('pgtabs_front_style', post_grid_plugin_url . 'includes/blocks/tabs-nested/index.css'); if (has_block('post-grid/tabs-nested')) { wp_enqueue_script('pgtabs_front_script'); wp_enqueue_style('pgtabs_front_style'); } } // loading src files in the gutenberg editor screen function register_scripts() { register_block_type( post_grid_plugin_dir . 'build/blocks/tabs-nested/block.json', array( 'render_callback' => array($this, 'theHTML'), ) ); } function front_script($attributes) { } function front_style($attributes) { } // front-end output from the gutenberg editor function theHTML($attributes, $content, $block) { global $postGridCssY; $post_ID = isset($block->context['postId']) ? $block->context['postId'] : ''; $post_url = get_the_permalink($post_ID); $the_post = get_post($post_ID); $wrapper = ''; $blockId = isset($attributes['blockId']) ? $attributes['blockId'] : ''; $blockAlign = isset($attributes['align']) ? 'align' . $attributes['align'] : ''; $activeTab = isset($attributes['activeTab']) ? $attributes['activeTab'] : ''; $wrapper = isset($attributes['wrapper']) ? $attributes['wrapper'] : []; $wrapperOptions = isset($wrapper['options']) ? $wrapper['options'] : []; $wrapperTag = isset($wrapperOptions['tag']) ? $wrapperOptions['tag'] : 'div'; $wrapperClass = isset($wrapperOptions['class']) ? $wrapperOptions['class'] : ''; $tabs = isset($attributes['tabs']) ? $attributes['tabs'] : []; $tabsWrap = isset($attributes['tabsWrap']) ? $attributes['tabsWrap'] : []; $tabsWrapOptions = isset($tabsWrap['options']) ? $tabsWrap['options'] : []; $navsWrap = isset($attributes['navsWrap']) ? $attributes['navsWrap'] : []; $navsWrapOptions = isset($navsWrap['options']) ? $navsWrap['options'] : []; $navItem = isset($attributes['navItem']) ? $attributes['navItem'] : []; $navItemOptions = isset($navItem['options']) ? $navItem['options'] : []; $activeNavItem = isset($attributes['activeNavItem']) ? $attributes['activeNavItem'] : []; $activeNavItemOptions = isset($activeNavItem['options']) ? $activeNavItem['options'] : []; $navLabel = isset($attributes['navLabel']) ? $attributes['navLabel'] : []; $navLabelOptions = isset($navLabel['options']) ? $navLabel['options'] : []; $contentWrap = isset($attributes['contentWrap']) ? $attributes['contentWrap'] : []; $contentWrapOptions = isset($contentWrap['options']) ? $contentWrap['options'] : []; $icon = isset($attributes['icon']) ? $attributes['icon'] : ''; $iconOptions = isset($icon['options']) ? $icon['options'] : []; $iconLibrary = isset($iconOptions['library']) ? $iconOptions['library'] : ''; $iconSrcType = isset($iconOptions['srcType']) ? $iconOptions['srcType'] : ''; $iconSrc = isset($iconOptions['iconSrc']) ? $iconOptions['iconSrc'] : ''; $iconPosition = isset($iconOptions['position']) ? $iconOptions['position'] : ''; $iconClass = isset($iconOptions['class']) ? $iconOptions['class'] : ''; $iconHtml = !empty($iconSrc) ? '<span class=" ' . $iconClass . ' ' . $iconSrc . '"></span>' : ''; $iconToggle = isset($attributes['iconToggle']) ? $attributes['iconToggle'] : ''; $iconToggleOptions = isset($iconToggle['options']) ? $iconToggle['options'] : []; $iconToggleLibrary = isset($iconToggleOptions['library']) ? $iconToggleOptions['library'] : ''; $iconToggleSrcType = isset($iconToggleOptions['srcType']) ? $iconToggleOptions['srcType'] : ''; $iconToggleSrc = isset($iconToggleOptions['iconSrc']) ? $iconToggleOptions['iconSrc'] : ''; $iconTogglePosition = isset($iconToggleOptions['position']) ? $iconToggleOptions['position'] : ''; $iconToggleClass = isset($iconToggleOptions['class']) ? $iconToggleOptions['class'] : ''; $iconToggleHtml = !empty($iconToggleSrc) ? '<span class=" ' . $iconToggleClass . ' ' . $iconToggleSrc . '"></span>' : ''; $blockCssY = isset($attributes['blockCssY']) ? $attributes['blockCssY'] : []; $postGridCssY[] = isset($blockCssY['items']) ? $blockCssY['items'] : []; if ($iconLibrary == 'fontAwesome') { wp_enqueue_style('fontawesome-icons'); } else if ($iconLibrary == 'iconFont') { wp_enqueue_style('icofont-icons'); } else if ($iconLibrary == 'bootstrap') { wp_enqueue_style('bootstrap-icons'); } $obj['id'] = $post_ID; $obj['type'] = 'post'; $tabData = [ "activeTab" => $activeTab, ]; $wrapperClass = parse_css_class($wrapperClass, $obj); ob_start(); ?> <div id="<?php echo esc_attr($blockId); ?>" class="<?php echo esc_attr($wrapperClass); ?> <?php echo esc_attr($blockId); ?> <?php echo esc_attr($blockAlign); ?>" data-tabData="<?php echo esc_attr(json_encode($tabData)); ?>"> <div class="navs-wrapper"> <?php foreach ($tabs as $tab) { $uid = isset($tab['uid']) ? $tab['uid'] : ''; ?> <div id="<?php echo esc_attr($uid); ?>" data-tab-id="<?php echo esc_attr($uid); ?>" class="<?php echo ($uid == $activeTab) ? ' nav-item ' : 'nav-item ' ?>" role="tab" tabIndex="0"> <?php if ($iconPosition == 'before') : ?> <?php echo wp_kses_post($iconHtml); ?> <?php echo wp_kses_post($iconToggleHtml); ?> <?php endif; ?> <div class="nav-label"> <?php echo isset($tab['title']) ? wp_kses_post($tab['title']) : ""; ?> </div> <?php if ($iconPosition == 'after') : ?> <div class='nav-icon'> <?php echo wp_kses_post($iconHtml); ?> </div> <?php endif; ?> </div> <?php } ?> </div> <div class='panels-wrap'> <?php echo $content; ?> </div> </div> <?php ?> <?php return ob_get_clean(); } } $BlockPostGrid = new PGBlockTabs();