b0y-101 Mini Shell


Current Path : E:/www/plan/components/com_sppagebuilder/addons/tab/
File Upload :
Current File : E:/www/plan/components/com_sppagebuilder/addons/tab/site.php

<?php
/**
 * @package SP Page Builder
 * @author JoomShaper http://www.joomshaper.com
 * @copyright Copyright (c) 2010 - 2016 JoomShaper
 * @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 or later
*/
//no direct accees
defined ('_JEXEC') or die ('restricted aceess');

class SppagebuilderAddonTab extends SppagebuilderAddons {

	public function render() {

		$class = (isset($this->addon->settings->class) && $this->addon->settings->class) ? $this->addon->settings->class : '';
		$style = (isset($this->addon->settings->style) && $this->addon->settings->style) ? $this->addon->settings->style : '';
		$title = (isset($this->addon->settings->title) && $this->addon->settings->title) ? $this->addon->settings->title : '';
		$heading_selector = (isset($this->addon->settings->heading_selector) && $this->addon->settings->heading_selector) ? $this->addon->settings->heading_selector : 'h3';

		//Output
		$output  = '<div class="sppb-addon sppb-addon-tab ' . $class . '">';
		$output .= ($title) ? '<'.$heading_selector.' class="sppb-addon-title">' . $title . '</'.$heading_selector.'>' : '';
		$output .= '<div class="sppb-addon-content sppb-tab">';

		//Tab Title
		$output .='<ul class="sppb-nav sppb-nav-' . $style . '">';
		foreach ($this->addon->settings->sp_tab_item as $key => $tab) {
			$title = (isset($tab->icon) && $tab->icon) ? '<i class="fa ' . $tab->icon . '"></i> ' . $tab->title : $tab->title;
			$output .='<li class="'. ( ($key==0) ? "active" : "").'"><a data-toggle="sppb-tab" href="#sppb-tab-'. ($this->addon->id + $key) .'">'. $title .'</a></li>';
		}
		$output .='</ul>';

		//Tab Contnet
		$output .='<div class="sppb-tab-content sppb-nav-' . $style . '-content">';
		foreach ($this->addon->settings->sp_tab_item as $key => $tab) {
			$output .='<div id="sppb-tab-'. ($this->addon->id + $key) .'" class="sppb-tab-pane sppb-fade'. ( ($key==0) ? " active in" : "").'">' . $tab->content .'</div>';
		}
		$output .='</div>';
		$output .= '</div>';
		$output .= '</div>';

		return $output;

	}

	public function css() {
		$addon_id = '#sppb-addon-' . $this->addon->id;
		$tab_style = (isset($this->addon->settings->style) && $this->addon->settings->style) ? $this->addon->settings->style : '';
		$style = (isset($this->addon->settings->active_tab_color) && $this->addon->settings->active_tab_color) ? 'color: ' . $this->addon->settings->active_tab_color . ';': '';

		$css = '';
		if($tab_style == 'pills') {
			$style .= (isset($this->addon->settings->active_tab_bg) && $this->addon->settings->active_tab_bg) ? 'background-color: ' . $this->addon->settings->active_tab_bg . ';': '';
			if($style) {
				$css .= $addon_id . ' .sppb-nav-pills > li.active > a,' . $addon_id . ' .sppb-nav-pills > li.active > a:hover,' . $addon_id . ' .sppb-nav-pills > li.active > a:focus {';
				$css .= $style;
				$css .= '}';
			}
		} else if ($tab_style == 'lines') {
			$style .= (isset($this->addon->settings->active_tab_bg) && $this->addon->settings->active_tab_bg) ? 'border-bottom-color: ' . $this->addon->settings->active_tab_bg . ';': '';
			if($style) {
				$css .= $addon_id . ' .sppb-nav-lines > li.active > a,' . $addon_id . ' .sppb-nav-lines > li.active > a:hover,' . $addon_id . ' .sppb-nav-lines > li.active > a:focus {';
				$css .= $style;
				$css .= '}';
			}
		}

		return $css;
	}

	public static function getTemplate(){
		$output = '
		<style type="text/css">
			<# if(data.style == "pills"){ #>
				#sppb-addon-{{ data.id }} .sppb-nav-pills > li.active > a,
				#sppb-addon-{{ data.id }} .sppb-nav-pills > li.active > a:hover,
				#sppb-addon-{{ data.id }} .sppb-nav-pills > li.active > a:focus{
					color: {{ data.active_tab_color }};
					background-color: {{ data.active_tab_bg }};
				}
			<# } #>

			<# if(data.style == "lines"){ #>
				#sppb-addon-{{ data.id }} .sppb-nav-lines > li.active > a,
				#sppb-addon-{{ data.id }} .sppb-nav-lines > li.active > a:hover,
				#sppb-addon-{{ data.id }} .sppb-nav-lines > li.active > a:focus{
					color: {{ data.active_tab_color }};
					border-bottom-color: {{ data.active_tab_bg }};
				}
			<# } #>
		</style>
		<div class="sppb-addon sppb-addon-tab {{ data.class }}">
			<# if( !_.isEmpty( data.title ) ){ #><{{ data.heading_selector }} class="sppb-addon-title">{{{ data.title }}}</{{ data.heading_selector }}><# } #>
			<div class="sppb-addon-content sppb-tab">
				<ul class="sppb-nav sppb-nav-{{ data.style }}">
					<# _.each(data.sp_tab_item, function(tab, key){ #>
						<#
							var active = "";
							if(key == 0){
								active = "active";
							}

							var title = tab.title;

							if(tab.icon){
								title = \'<i class="fa \' + tab.icon + \'"></i> \' + tab.title;
							}
						#>
						<li class="{{ active }}"><a data-toggle="sppb-tab" href="#sppb-tab-{{ data.id }}{{ key }}">{{{ title }}}</a></li>
					<# }); #>
				</ul>
				<div class="sppb-tab-content sppb-nav-{{ data.style }}-content">
					<# _.each(data.sp_tab_item, function(tab, key){ #>
						<#
							var active = "";
							if(key == 0){
								active = "active in";
							}
						#>
						<div id="sppb-tab-{{ data.id }}{{ key }}" class="sppb-tab-pane sppb-fade {{ active }}">
							<#
							var htmlContent = "";
							_.each(tab.content, function(content){
								htmlContent += content;
							});
							#>
							{{{ htmlContent }}}
						</div>
					<# }); #>
				</div>
			</div>
		</div>
		';

		return $output;
	}

}

Copyright © 2019 by b0y-101