Exemplo n.º 1
0
 public function shortcode($atts, $content = null)
 {
     $default_atts = array('type' => 'blockquote', 'layout' => 'left', 'font_size' => 'big', 'size' => '1', 'animation' => 'none', 'background' => 'plain');
     extract(shortcode_atts($default_atts, $atts));
     $font_size = sanitize_key($font_size);
     $type = sanitize_key($type);
     $layout = sanitize_key($layout);
     $size = sanitize_key($size);
     $background = sanitize_key($background);
     $classes = array();
     $classes[] = presscore_get_font_size_class($font_size);
     if (presscore_shortcode_animation_on($animation)) {
         $classes[] = presscore_get_shortcode_animation_html_class($animation);
     }
     if ('blockquote' != $type) {
         $tag = 'q';
         $autop = false;
         $classes[] = 'shortcode-pullquote';
         $classes[] = 'wf-cell';
         if ('right' == $layout) {
             $classes[] = 'align-right';
         } else {
             $classes[] = 'align-left';
         }
         switch ($size) {
             case '2':
                 $classes[] = 'wf-1-2';
                 break;
             case '3':
                 $classes[] = 'wf-1-3';
                 break;
             case '4':
                 $classes[] = 'wf-1-4';
                 break;
             default:
                 $classes[] = 'wf-1';
         }
     } else {
         $tag = 'blockquote';
         $autop = true;
         $classes[] = 'shortcode-blockquote';
         if ('fancy' == $background) {
             $classes[] = 'block-style-widget';
         }
     }
     $classes = implode(' ', $classes);
     $output = sprintf('<%1$s class="%2$s">%3$s</%1$s>', $tag, esc_attr($classes), presscore_remove_wpautop($content, $autop));
     return $output;
 }
Exemplo n.º 2
0
 function presscore_get_page_title_html_class($class = array())
 {
     $config = Presscore_Config::get_instance();
     $output = array(presscore_get_font_size_class($config->get('page_title.font.size')));
     if (is_single()) {
         $output[] = 'entry-title';
     }
     //////////////
     // Output //
     //////////////
     if ($class && !is_array($class)) {
         $class = explode(' ', $class);
     }
     $output = apply_filters('presscore_get_page_title_html_class', array_merge($class, $output));
     return $output ? sprintf('class="%s"', presscore_esc_implode(' ', array_unique($output))) : '';
 }
/**
 * Adding our classes to paint standard VC shortcodes.
 *
 * @param  string $class_string
 * @param  string $tag
 * @param  array  $atts
 * @return string
 */
function custom_css_accordion($class_string, $tag, $atts = array())
{
    if (in_array($tag, array('vc_accordion', 'vc_toggle', 'vc_progress_bar', 'vc_posts_slider'))) {
        $class_string .= ' dt-style';
    }
    if ('vc_accordion' === $tag) {
        if (array_key_exists('style', $atts)) {
            switch ($atts['style']) {
                case '2':
                    $class_string .= ' dt-accordion-bg-on';
                    break;
                case '3':
                    $class_string .= ' dt-accordion-line-on';
                    break;
            }
        }
        if (array_key_exists('title_size', $atts)) {
            $class_string .= ' dt-accordion-' . presscore_get_font_size_class($atts['title_size']);
        }
    }
    return $class_string;
}
Exemplo n.º 4
0
    /**
     * Fancy header controller.
     *
     */
    function presscore_fancy_header_controller()
    {
        $config = Presscore_Config::get_instance();
        if ('fancy' != $config->get('header_title')) {
            return;
        }
        /////////////
        // title //
        /////////////
        $title = '';
        $custom_title = 'generic' == $config->get('fancy_header.title.mode') ? presscore_get_page_title() : $config->get('fancy_header.title');
        if ($custom_title) {
            $title_class = presscore_get_font_size_class($config->get('fancy_header.title.font.size'));
            if ('accent' == $config->get('fancy_header.title.color.mode')) {
                $title_class .= ' color-accent';
            }
            $title .= sprintf('<h1 class="fancy-title entry-title %s"', $title_class);
            if ('color' == $config->get('fancy_header.title.color.mode')) {
                $title .= ' style="color: ' . esc_attr($config->get('fancy_header.title.color')) . '"';
            }
            $title .= '><span>' . strip_tags($custom_title) . '</span></h1>';
        }
        ////////////////
        // subtitle //
        ////////////////
        $sybtitle = $config->get('fancy_header.subtitle');
        if ($sybtitle) {
            $subtitle_class = presscore_get_font_size_class($config->get('fancy_header.subtitle.font.size'));
            if ('accent' == $config->get('fancy_header.subtitle.color.mode')) {
                $subtitle_class .= ' color-accent';
            }
            $title .= sprintf('<h2 class="fancy-subtitle %s"', $subtitle_class);
            if ('color' == $config->get('fancy_header.subtitle.color.mode')) {
                $title .= ' style="color: ' . esc_attr($config->get('fancy_header.subtitle.color')) . '"';
            }
            $title .= '><span>' . strip_tags($sybtitle) . '</span></h2>';
        }
        // container class
        $container_classes = array('fancy-header');
        if ($title) {
            $title = '<div class="wf-td hgroup">' . $title . '</div>';
            // if title and subtitle empty
        } else {
            $container_classes[] = 'titles-off';
        }
        //////////////////
        // bredcrumbs //
        //////////////////
        $breadcrumbs = '';
        if ('enabled' == $config->get('fancy_header.breadcrumbs')) {
            $breadcrumbs_args = array('beforeBreadcrumbs' => '<div class="wf-td">', 'afterBreadcrumbs' => '</div>');
            $breadcrumbs_class = 'breadcrumbs text-normal';
            switch ($config->get('fancy_header.breadcrumbs.bg_color')) {
                case 'black':
                    $breadcrumbs_class .= ' bg-dark breadcrumbs-bg';
                    break;
                case 'white':
                    $breadcrumbs_class .= ' bg-light breadcrumbs-bg';
                    break;
            }
            $breadcrumbs_args['listAttr'] = ' class="' . $breadcrumbs_class . '"';
            $breadcrumbs_text_color = $config->get('fancy_header.breadcrumbs.text_color');
            if ($breadcrumbs_text_color) {
                $breadcrumbs_args['listAttr'] .= ' style="color: ' . $breadcrumbs_text_color . ';"';
            }
            $breadcrumbs = presscore_get_breadcrumbs($breadcrumbs_args);
        } else {
            $container_classes[] = 'breadcrumbs-off';
        }
        /////////////////
        // container //
        /////////////////
        $content = $title . $breadcrumbs;
        switch ($config->get('fancy_header.title.aligment')) {
            case 'center':
                $container_classes[] = 'title-center';
                break;
            case 'right':
                $container_classes[] = 'title-right';
                $content = $breadcrumbs . $title;
                break;
            case 'all_left':
                $container_classes[] = 'content-left';
                break;
            case 'all_right':
                $container_classes[] = 'content-right';
                break;
            default:
                $container_classes[] = 'title-left';
        }
        ////////////////
        // parallax //
        ////////////////
        $data_attr = array();
        $parallax_speed = $config->get('fancy_header.parallax.speed');
        if ($parallax_speed) {
            $container_classes[] = 'fancy-parallax-bg';
            $data_attr[] = 'data-prlx-speed="' . $parallax_speed . '"';
        }
        ///////////////////////
        // container style //
        ///////////////////////
        $container_style = array();
        if ($config->get('fancy_header.bg.color')) {
            $container_style[] = 'background-color: ' . $config->get('fancy_header.bg.color');
        }
        if ($config->get('fancy_header.bg.image')) {
            $image_meta = wp_get_attachment_image_src(current($config->get('fancy_header.bg.image')), 'full');
            if ($image_meta) {
                if ($config->get('fancy_header.bg.fullscreen')) {
                    $bg_size = 'cover';
                    $repeat = 'no-repeat';
                } else {
                    $bg_size = 'auto auto';
                    $repeat = $config->get('fancy_header.bg.repeat');
                }
                $container_style[] = "background-size: {$bg_size}";
                $container_style[] = "background-repeat: {$repeat}";
                $container_style[] = "background-image: url({$image_meta[0]})";
                $position_x = $config->get('fancy_header.bg.position.x');
                $position_y = $config->get('fancy_header.bg.position.y');
                $container_style[] = "background-position: {$position_x} {$position_y}";
                if ($config->get('fancy_header.bg.fixed')) {
                    $container_style[] = 'background-attachment: fixed';
                }
            }
        }
        /////////////////////
        // header height //
        /////////////////////
        $min_h_height = ' style="min-height: ' . $config->get('fancy_header.height') . 'px;"';
        $wf_table_height = ' style="height: ' . $config->get('fancy_header.height') . 'px;"';
        $container_style[] = 'min-height: ' . $config->get('fancy_header.height') . 'px';
        //////////////
        // output //
        //////////////
        printf('<header id="fancy-header" class="%1$s" style="%2$s" %3$s>
			<div class="wf-wrap">
				<div class="wf-table"%5$s>%4$s</div>
			</div>
			</header>', esc_attr(implode(' ', $container_classes)), esc_attr(implode('; ', $container_style)), implode(' ', $data_attr), $content, $wf_table_height, $min_h_height);
    }
$element = 'wpb_tabs';
if ('vc_tour' === $this->shortcode) {
    $element = 'wpb_tour';
}
// Extract tab titles
preg_match_all('/vc_tab([^\\]]+)/i', $content, $matches, PREG_OFFSET_CAPTURE);
$tab_titles = array();
/**
 * vc_tabs
 *
 */
if (isset($matches[1])) {
    $tab_titles = $matches[1];
}
$tabs_nav = '';
$tabs_class = array('wpb_tabs_nav', 'ui-tabs-nav', 'vc_clearfix', presscore_get_font_size_class($title_size));
array_filter($tabs_class);
$tabs_nav .= '<ul class="' . esc_attr(implode(' ', $tabs_class)) . '">';
foreach ($tab_titles as $tab) {
    $tab_atts = shortcode_parse_atts($tab[0]);
    if (isset($tab_atts['title'])) {
        $tabs_nav .= '<li><a href="#tab-' . (isset($tab_atts['tab_id']) ? $tab_atts['tab_id'] : sanitize_title($tab_atts['title'])) . '">' . $tab_atts['title'] . '</a></li>';
    }
}
$tabs_nav .= '</ul>';
$css_class = apply_filters(VC_SHORTCODE_CUSTOM_CSS_FILTER_TAG, trim($element . ' wpb_content_element ' . $el_class . ' ' . $style), $this->settings['base'], $atts);
if ('vc_tour' === $this->shortcode) {
    $next_prev_nav = '<div class="wpb_tour_next_prev_nav vc_clearfix"> <span class="wpb_prev_slide"><a href="#prev" title="' . __('Previous tab', 'the7mk2') . '">' . __('Previous tab', 'the7mk2') . '</a></span> <span class="wpb_next_slide"><a href="#next" title="' . __('Next tab', 'the7mk2') . '">' . __('Next tab', 'the7mk2') . '</a></span></div>';
} else {
    $next_prev_nav = '';
}
Exemplo n.º 6
0
 /**
  * Retrieve the classes for the top bar as an array.
  *
  * @since 1.0.0
  *
  * @param string|array $class One or more classes to add to the class list.
  * @return array Array of classes
  */
 function presscore_get_top_bar_class($class = '')
 {
     $classes = array();
     $classes[] = presscore_get_font_size_class(of_get_option('top_bar-font_size'));
     if ($topbar_bg_mode_class = presscore_get_topbar_bg_mode_class(of_get_option('top_bar-bg_mode'))) {
         $classes[] = $topbar_bg_mode_class;
     }
     $config = presscore_get_config();
     switch ($config->get('header.top_bar.mobile.position')) {
         case 'closed':
             $classes[] = 'top-bar-hide';
             break;
         case 'opened':
             $classes[] = 'top-bar-opened';
             break;
         case 'disabled':
             $classes[] = 'top-bar-disabled';
             break;
     }
     if (!empty($class)) {
         if (!is_array($class)) {
             $class = preg_split('#\\s+#', $class);
         }
         $classes = array_merge($classes, $class);
     } else {
         // Ensure that we always coerce class to being an array.
         $class = array();
     }
     $classes = array_map('esc_attr', $classes);
     return apply_filters('presscore_top_bar_class', $classes, $class);
 }