function avia_header_setting($single_val = false) { global $avia_config; if (isset($avia_config['header_settings']) && $single_val && isset($avia_config['header_settings'][$single_val])) { return $avia_config['header_settings'][$single_val]; } if (isset($avia_config['header_settings']) && !$single_val) { return $avia_config['header_settings']; } //return cached header setting if available $defaults = array('header_position' => 'header_top', 'header_layout' => 'logo_left menu_right', 'header_size' => 'slim', 'header_custom_size' => '', 'header_sticky' => 'header_sticky', 'header_shrinking' => 'header_shrinking', 'header_title_bar' => '', 'header_social' => '', 'header_unstick_top' => '', 'header_secondary_menu' => '', 'header_stretch' => '', 'header_custom_size' => '', 'header_phone_active' => '', 'header_replacement_logo' => '', 'header_replacement_menu' => '', 'header_mobile_behavior' => '', 'header_searchicon' => true, 'header_mobile_activation' => 'mobile_menu_phone', 'phone' => '', 'sidebarmenu_sticky' => 'conditional_sticky', 'layout_align_content' => 'content_align_center', 'sidebarmenu_widgets' => '', 'sidebarmenu_social' => 'disabled', 'header_menu_border' => '', 'header_style' => '', 'blog_global_style' => ''); $settings = avia_get_option(); //overwrite with custom fields if they are set $post_id = avia_get_the_id(); if ($post_id && is_singular()) { $custom_fields = get_post_custom($post_id); foreach ($defaults as $key => $default) { if (!empty($custom_fields[$key]) && !empty($custom_fields[$key][0])) { $settings[$key] = $custom_fields[$key][0]; } } //check if header transparency is set to true $transparency = post_password_required() ? false : get_post_meta($post_id, 'header_transparency', true); } $header = shortcode_atts($defaults, $settings); $header['header_scroll_offset'] = avia_get_header_scroll_offset($header); //if sidebar main menu is active set the header accordingly and return the sidebar header if ($header['header_position'] != "header_top") { return avia_header_setting_sidebar($header, $single_val); } //------------------------------------------------------------------------------------------------------ //------------------------------------------------------------------------------------------------------ //if header main menu is above the logo set a var to indicate that and disable transparency and shrinking if (strpos($header['header_layout'], 'top_nav_header') !== false) { $header['header_menu_above'] = true; $header['header_shrinking'] = 'disabled'; $transparency = false; } //set header transparency $header['header_transparency'] = ""; if (!empty($transparency)) { $header['header_transparency'] = 'header_transparency'; } if (!empty($transparency) && strpos($transparency, 'glass')) { $header['header_transparency'] .= ' header_glassy'; } if (!empty($transparency) && strpos($transparency, 'hidden')) { $header['disabled'] = true; } if (!empty($transparency) && strpos($transparency, 'scrolldown')) { $header['header_transparency'] .= ' header_scrolldown'; $header['header_sticky'] = 'header_sticky'; } //deactivate title bar if header is transparent if (!empty($transparency)) { $header['header_title_bar'] = 'hidden_title_bar'; } //sticky and shrinking are tied together if ($header['header_sticky'] == 'disabled') { $header['header_shrinking'] = 'disabled'; $header['header_scroll_offset'] = 0; } //if the custom height is less than 70 shrinking doesnt really work if ($header['header_size'] == 'custom' && (int) $header['header_custom_size'] < 65) { $header['header_shrinking'] = 'disabled'; } //create a header class so we can style properly $header_class_var = array('header_position', 'header_layout', 'header_size', 'header_sticky', 'header_shrinking', 'header_stretch', 'header_mobile_activation', 'header_transparency', 'header_searchicon', 'header_unstick_top', 'header_menu_border', 'header_style'); $header['header_class'] = ""; foreach ($header_class_var as $class_name) { if (!empty($header[$class_name])) { if ($header[$class_name] == "disabled") { $header[$class_name] = $class_name . "_disabled"; } $header['header_class'] .= " av_" . str_replace(' ', ' av_', $header[$class_name]); } } //set manual flag if we should display the top bar $header['header_topbar'] = false; if (strpos($header['header_social'], 'extra_header_active') !== false || strpos($header['header_secondary_menu'], 'extra_header_active') !== false || !empty($header['header_phone_active'])) { $header['header_topbar'] = 'header_topbar_active'; } //set manual flag if the menu is at the bottom $header['bottom_menu'] = false; if (strpos($header['header_layout'], 'bottom_nav_header') !== false) { $header['bottom_menu'] = 'header_bottom_menu_active'; } else { $header['header_class'] .= " av_bottom_nav_disabled "; } //header class that tells us to use the alternate logo if (!empty($header['header_replacement_logo'])) { $header['header_class'] .= " av_alternate_logo_active"; if (is_numeric($header['header_replacement_logo'])) { $header['header_replacement_logo'] = wp_get_attachment_image_src($header['header_replacement_logo'], 'full'); $header['header_replacement_logo'] = $header['header_replacement_logo'][0]; } } //header class that tells us to use the alternate logo if (empty($header['header_menu_border'])) { $header['header_class'] .= " av_header_border_disabled"; } $header = apply_filters('avf_header_setting_filter', $header); //make settings available globaly $avia_config['header_settings'] = $header; if (!empty($single_val) && isset($header[$single_val])) { return $header[$single_val]; } return $header; }
break; case '.socket_color': $output .= "\n\n\t\t\thtml, #scroll-top-link{ background-color: {$bg}; }\n\t\t\t#scroll-top-link{ color: {$color}; border:1px solid {$border}; }\n\t\t\t\n\t\t\t.html_stretched #wrap_all{\n\t\t\tbackground-color:{$bg};\n\t\t\t}\n\t\t\t"; break; } //unset all vars with the help of variable vars :) foreach ($colors as $key => $val) { unset(${$key}); } } //filter to plug in, in case a plugin/extension/config file wants to make use of it $output = apply_filters('avia_dynamic_css_output', $output, $color_set); ###################################################################### # DYNAMIC ICONFONT CHARACTERS ###################################################################### //forum topic icons $output .= "\n.bbp-topics .bbp-body .bbp-topic-title:before{ " . av_icon_css_string('one_voice') . " }\n.bbp-topics .bbp-body .topic-voices-multi .bbp-topic-title:before { " . av_icon_css_string('multi_voice') . " }\n.bbp-topics .bbp-body .super-sticky .bbp-topic-title:before { " . av_icon_css_string('supersticky') . " }\n.bbp-topics .bbp-body .sticky .bbp-topic-title:before { " . av_icon_css_string('sticky') . " }\n.bbp-topics .bbp-body .status-closed .bbp-topic-title:before { " . av_icon_css_string('closed') . " }\n.bbp-topics .bbp-body .super-sticky.status-closed .bbp-topic-title:before{ " . av_icon_css_string('supersticky_closed') . " }\n.bbp-topics .bbp-body .sticky.status-closed .bbp-topic-title:before{ " . av_icon_css_string('sticky_closed') . " }\n"; //layerslider nav icons $output .= "\n#top .avia-layerslider .ls-nav-prev:before{ " . av_icon_css_string('prev_big') . " }\n#top .avia-layerslider .ls-nav-next:before{ " . av_icon_css_string('next_big') . " }\n#top .avia-layerslider .ls-nav-start:before, #top .avia_playpause_icon.av-play:before{ " . av_icon_css_string('play') . " }\n#top .avia-layerslider .ls-nav-stop:before, #top .avia_playpause_icon.av-pause:before{ " . av_icon_css_string('pause') . " }\n"; //image hover overlay icons $output .= "\n.image-overlay .image-overlay-inside:before{ " . av_icon_css_string('ov_image') . " }\n.image-overlay.overlay-type-extern .image-overlay-inside:before{ " . av_icon_css_string('ov_external') . " }\n.image-overlay.overlay-type-video .image-overlay-inside:before{ " . av_icon_css_string('ov_video') . " }\n"; //lightbox next/prev icons $output .= "\ndiv.avia-popup button.mfp-arrow:before\t\t{ " . av_icon_css_string('next_big') . " }\ndiv.avia-popup button.mfp-arrow-left:before { " . av_icon_css_string('prev_big') . "}\n"; ###################################################################### # OUTPUT THE DYNAMIC CSS RULES ###################################################################### //compress output $output = preg_replace('/\\r|\\n|\\t/', '', $output); //todo: if the style are generated for the wordpress header call the generating script, otherwise create a simple css file and link to that file $avia_config['style'] = array(array('key' => 'direct_input', 'value' => $output), array('key' => 'direct_input', 'value' => ".html_header_transparency #top .avia-builder-el-0 .container, .html_header_transparency #top .avia-builder-el-0 .slideshow_inner_caption{padding-top:" . avia_get_header_scroll_offset() . "px;}"), array('elements' => 'h1, h2, h3, h4, h5, h6, #top .title_container .main-title, tr.pricing-row td, #top .portfolio-title, .callout .content-area, .avia-big-box .avia-innerbox, .av-special-font, .av-current-sort-title', 'key' => 'google_webfont', 'value' => avia_get_option('google_webfont')), array('elements' => 'body', 'key' => 'google_webfont', 'value' => avia_get_option('default_font')), array('key' => 'direct_input', 'value' => avia_get_option('quick_css'))); do_action('ava_generate_styles', $options, $color_set, $styles);