<?php
namespace Kubio\Theme\Components\Header;
use ColibriWP\Theme\Core\Hooks;
use ColibriWP\Theme\Core\Utils;
use ColibriWP\Theme\Defaults;
use ColibriWP\Theme\Translations;
use ColibriWP\Theme\View;
class Logo extends \ColibriWP\Theme\Components\Header\Logo {
protected static $settings_prefix = 'front-header.logo.';
public static function selectiveRefreshSelector() {
return "[data-kubio-partial-refresh='logo']";
}
protected static function getOptions() {
static::doOptionsHooks();
$prefix = static::$settings_prefix;
$custom_logo_args = get_theme_support( 'custom-logo' );
return array(
'sections' => array(
"{$prefix}section" => array(
'title' => Translations::get( 'logo' ),
'panel' => 'header_panel',
'type' => 'colibri_section',
'hidden' => true,
),
),
'settings' => array(
'alternate_logo' => array(
'default' => Defaults::get( 'dark_logo', '' ),
'transport' => 'refresh', // use refresh transport to properly load the classes
'section' => "{$prefix}section",
'control' => array(
'label' => Translations::escHtml( 'alternate_logo_image' ),
'type' => 'cropped_image',
'section' => "{$prefix}section",
'priority' => 35,
'colibri_tab' => 'content',
'height' => Utils::pathGet( $custom_logo_args, '0.height', false ),
'width' => Utils::pathGet( $custom_logo_args, '0.width', false ),
'flex_height' => Utils::pathGet( $custom_logo_args, '0.flex-height', false ),
'flex_width' => Utils::pathGet( $custom_logo_args, '0.flex-width', false ),
'active_rules' => array(
array(
'setting' => "{$prefix}props.layoutType",
'operator' => '=',
'value' => 'image',
),
),
),
),
"{$prefix}props.layoutType" => array(
'default' => Defaults::get( "{$prefix}props.layoutType" ),
'transport' => 'refresh', // use refresh transport to properly load the classes
'control' => array(
'label' => Translations::get( 'layout_type' ),
'focus_alias' => 'logo',
'type' => 'select',
'section' => "{$prefix}section",
'colibri_tab' => 'content',
'choices' => array(
'image' => Translations::escHtml( 'logo_image_only' ),
'text' => Translations::escHtml( 'site_title_text_only' ),
),
),
),
"{$prefix}.pen" => array(
'control' => array(
'type' => 'pen',
'section' => "{$prefix}section",
),
),
),
);
}
protected static function doOptionsHooks() {
Hooks::prefixed_add_action( 'rearrange_customizer_components', array( __CLASS__, 'rearrangeControls' ) );
}
public function renderContent( $parameters = array() ) {
?>
<div data-kubio-partial-refresh='logo'>
<?php
View::partial(
'front-header',
'logo',
array_merge(
array(
'component' => $this,
),
$parameters
)
);
?>
</div>
<?php
}
public function printTextLogo() {
if ( $this->getLayoutType() == 'text' ) {
echo get_bloginfo( 'name' );
}
}
}