Exemplo n.º 1
0
 public static function carousel($atts = null, $content = null)
 {
     $return = '';
     $atts = su_shortcode_atts(array('style' => '1', 'source' => '', 'limit' => 5, 'order' => 'created', 'order_by' => 'desc', 'items' => 4, 'large' => 4, 'medium' => 3, 'small' => 1, 'image' => 'yes', 'quality' => 95, 'title' => 'yes', 'title_link' => 'yes', 'title_limit' => '', 'intro_text' => 'yes', 'intro_text_limit' => '60', 'background' => '', 'color' => '', 'title_color' => '', 'date' => 'no', 'category' => 'no', 'image_width' => 360, 'image_height' => 320, 'thumb_resize' => 'yes', 'margin' => 10, 'scroll' => 1, 'arrows' => 'no', 'arrow_position' => 'default', 'pagination' => 'yes', 'autoplay' => 'yes', 'delay' => 4, 'speed' => 0.35, 'hoverpause' => 'no', 'lazyload' => 'no', 'loop' => 'yes', 'scroll_reveal' => '', 'class' => ''), $atts, 'carousel');
     $id = uniqid('suc');
     $title = "";
     $image = "";
     $intro_text = '';
     $css[] = '';
     $background = '';
     $color = '';
     $date = '';
     $category = '';
     $lang = JFactory::getLanguage();
     $lang = $lang->isRTL() ? 'true' : 'false';
     $slides = (array) Su_Tools::get_slides($atts);
     $atts['items'] = $atts['large'] != 4 ? $atts['large'] : $atts['items'];
     $css[] = '#' . $id . '.su-carousel-style-3 .su-carousel-caption:after {border-bottom-color: ' . $atts['background'] . ';}';
     if ($atts['background'] or $atts['color']) {
         $background = $atts['background'] ? 'background-color:' . $atts['background'] . ';' : '';
         $color = $atts['color'] ? 'color:' . $atts['color'] . ';' : '';
         $css[] = '#' . $id . ' .su-carousel-slide {' . $background . $color . '}';
     }
     $thumb_resize_check = $atts['thumb_resize'] === 'yes' ? true : false;
     if ($atts['title_color']) {
         $css[] = '#' . $id . ' .su-carousel-slide .su-carousel-slide-title a {color: ' . $atts['title_color'] . ';}';
         $css[] = '#' . $id . ' .su-carousel-slide .su-carousel-slide-title a:hover {color: ' . su_color::lighten($atts['title_color'], '10%') . ';}';
     }
     if (count($slides) and ($atts['title'] == 'yes' or $atts['image'] == 'yes' or $atts['intro_text'] === 'yes')) {
         $source = substr($atts['source'], 0, 5);
         if ($source == 'media') {
             $atts['class'] .= ' su-carousel-media';
         }
         $return[] = '<div id="' . $id . '"' . su_scroll_reveal($atts) . ' class="su-carousel su-carousel-style-' . $atts['style'] . ' su-carousel-title-' . $atts['title'] . ' arrow-' . $atts['arrow_position'] . ' ' . su_ecssc($atts) . '" data-autoplay="' . $atts['autoplay'] . '" data-delay="' . $atts['delay'] . '" data-speed="' . $atts['speed'] . '" data-arrows="' . $atts['arrows'] . '" data-pagination="' . $atts['pagination'] . '" data-lazyload="' . $atts['lazyload'] . '" data-hoverpause="' . $atts['hoverpause'] . '" data-items="' . $atts['items'] . '" data-medium="' . $atts['medium'] . '" data-small="' . $atts['small'] . '" data-margin="' . $atts['margin'] . '" data-scroll="' . $atts['scroll'] . '" data-loop="' . $atts['loop'] . '" data-rtl="' . $lang . '" ><div class="su-carousel-slides">';
         $limit = 1;
         foreach ((array) $slides as $slide) {
             $image_url = su_image_resize($slide['image'], $atts['image_width'], $atts['image_height'], $thumb_resize_check, $atts['quality']);
             if ($atts['title'] == 'yes' && $slide['title']) {
                 $title = stripslashes($slide['title']);
                 if ($atts['title_limit']) {
                     $title = su_char_limit($title, $atts['title_limit']);
                 }
                 if ($atts['title_link'] == "yes") {
                     $title = '<a href="' . $slide['link'] . '">' . $title . '</a>';
                 }
                 $title = '<h3 class="su-carousel-slide-title">' . $title . '</h3>';
             }
             if ($atts['date'] === 'yes') {
                 $date = JHTML::_('date', $slide['created'], JText::_('DATE_FORMAT_LC3'));
                 $date = '<div class="su-cdate">' . $date . '</div>';
             }
             if ($atts['category'] === 'yes') {
                 $category = '<div class="su-ccategory">' . $slide['category'] . '</div>';
             }
             if ($atts['intro_text'] === 'yes' and isset($slide['introtext'])) {
                 $intro_text = $slide['introtext'];
                 if ($atts['intro_text_limit']) {
                     $intro_text = su_char_limit($intro_text, $atts['intro_text_limit']);
                 }
                 $intro_text = '<div class="su-carousel-item-text">' . su_do_shortcode($intro_text) . '</div>';
             }
             $return[] = '<div class="su-carousel-slide">';
             if (isset($image_url) && $atts['image'] == 'yes') {
                 $return[] = '<div class="su-carousel-image">';
                 if (isset($image_url)) {
                     $return[] = '<div class="su-carousel-links">
                                 <a class="su-lightbox-item" href="' . image_media($slide['image']) . '" title="' . strip_tags($title) . '">
                                     <i class="fa fa-search"></i>
                                 </a>';
                     if ($source != 'media') {
                         $return[] = '<a class="su-carousel-link" href="' . $slide['link'] . '" title="' . strip_tags($title) . '">
                                         <i class="fa fa-link"></i>
                                     </a>';
                     }
                     $return[] = '</div>';
                 }
                 $return[] = '<img src="' . image_media($image_url['url']) . '" alt="' . strip_tags($title) . '" />';
                 $return[] = '</div>';
             }
             if ($title or $intro_text) {
                 $return[] = '<div class="su-carousel-caption">' . $title . '<div class="su-cmeta">' . $date . $category . '</div>' . $intro_text . '</div>';
             }
             $return[] = '</div>';
             if ($limit++ == $atts['limit']) {
                 break;
             }
         }
         $return[] = '</div>';
         $return[] = '</div>';
         suAsset::addString('css', implode("\n", $css));
         suAsset::addFile('css', 'magnific-popup.css');
         suAsset::addFile('js', 'magnific-popup.js');
         suAsset::addFile('css', 'owl.carousel.css');
         suAsset::addFile('js', 'owl.carousel.min.js');
         suAsset::addFile('css', 'carousel.css', __FUNCTION__);
         suAsset::addFile('js', 'carousel.js', __FUNCTION__);
     } else {
         return alert_box(JText::_('PLG_SYSTEM_BDTHEMES_SHORTCODES_CAROUSEL_INF'), 'warning');
     }
     return implode("", $return);
 }
Exemplo n.º 2
0
function load_post($atts = null)
{
    $atts = su_shortcode_atts(array('source' => isset($_REQUEST["source"]) ? $_REQUEST["source"] : null, 'limit' => isset($_REQUEST["limit"]) ? $_REQUEST["limit"] : null, 'layout' => isset($_REQUEST["layout"]) ? $_REQUEST["layout"] : null, 'order' => isset($_REQUEST["order"]) ? $_REQUEST["order"] : null, 'date' => isset($_REQUEST["date"]) ? $_REQUEST["date"] : null, 'category' => isset($_REQUEST["category"]) ? $_REQUEST["category"] : null, 'order_by' => isset($_REQUEST["order_by"]) ? $_REQUEST["order_by"] : null, 'thumb_resize' => isset($_REQUEST["thumb_resize"]) ? $_REQUEST["thumb_resize"] : null, 'thumb_width' => isset($_REQUEST["thumb_width"]) ? $_REQUEST["thumb_width"] : null, 'thumb_height' => isset($_REQUEST["thumb_height"]) ? $_REQUEST["thumb_height"] : null, 'show_more_item' => isset($_REQUEST["show_more_item"]) ? $_REQUEST["show_more_item"] : null, 'intro_text_limit' => isset($_REQUEST["intro_text_limit"]) ? $_REQUEST["intro_text_limit"] : null, 'offset' => isset($_REQUEST["offset"]) ? $_REQUEST["offset"] : null), $atts);
    $slides = (array) Su_Tools::get_slides($atts);
    $return = array();
    $item_block = 0;
    $block = 1;
    if (preg_match('/k2-category/', $atts['source'])) {
        $source = 'k2';
    } else {
        $source = 'article';
    }
    $thumb_resize_check = ($atts['thumb_resize'] === 'yes' and $atts['layout'] != 'mosaic') ? true : false;
    foreach ((array) $slides as $slide) {
        $thumb_url = su_image_resize($slide['image'], $atts['thumb_width'], $atts['thumb_height'], $thumb_resize_check, 95);
        // Title condition
        if ($slide['title']) {
            $title = stripslashes($slide['title']);
        }
        $category = su_title_class($slide['category']);
        $date = $atts['date'] ? '<span class="cbp-l-grid-blog-date">' . JHTML::_('date', $slide['created'], JText::_('DATE_FORMAT_LC3')) . '</span>' : '';
        $show_category = $atts['category'] ? '<span class="cpb-category">' . $slide['category'] . '</span>' : '';
        if (isset($slide['introtext'])) {
            if ($atts['intro_text_limit'] != 0) {
                $intro_text = '<div class="cbp-l-grid-blog-desc">' . su_char_limit($slide['introtext'], $atts['intro_text_limit']) . '</div>';
            }
        }
        if ($item_block % $atts['show_more_item'] == 0) {
            $return[] = $item_block > 0 ? "</div>" : "";
            // close div if it's not the first
            $return[] = '<div class="cbp-loadMore-block' . $block . '">';
            $block++;
        }
        $return[] = '
            <div class="cbp-item ' . $category . '">';
        if (isset($thumb_url['url'])) {
            $return[] = '<a data-id="' . $slide['id'] . '" href="' . $slide['link'] . '" class="cbp-caption">
                                    <div class="cbp-caption-defaultWrap">';
            $return[] = '<img src="' . image_media($thumb_url['url']) . '" alt="' . $title . '">';
            $return[] = '</div>';
            $return[] = '<div class="cbp-caption-activeWrap">
                                                <div class="cbp-l-caption-alignCenter">
                                                    <div class="cbp-l-caption-body">
                                                        <div class="cbp-l-caption-text">' . JText::_('PLG_SYSTEM_BDTHEMES_SHORTCODES_POST_GRID_VIEW_POST') . '</div>
                                                    </div>
                                                </div>
                                            </div>';
            $return[] = '</a>';
        }
        $return[] = '<a href="' . $slide['link'] . '" class="cbp-l-grid-blog-title">' . $title . '</a>
                <div class="su-pgrid-meta">
                    ' . $date . '
                    ' . $show_category . '
                </div>
                ' . $intro_text . '

            </div>';
        $item_block++;
    }
    return implode('', $return);
}
Exemplo n.º 3
0
    public static function post_grid($atts = null, $content = null)
    {
        $atts = su_shortcode_atts(array('source' => '', 'limit' => 12, 'layout' => 'grid', 'show_more' => 'no', 'intro_text_limit' => 105, 'show_more_item' => 4, 'show_more_action' => 'click', 'order' => 'created', 'order_by' => 'desc', 'loading_animation' => 'sequentially', 'filter_animation' => 'rotateSides', 'caption_style' => 'overlayBottomPush', 'horizontal_gap' => 35, 'vertical_gap' => 15, 'filter' => 'yes', 'filter_style' => 2, 'filter_deeplink' => 'no', 'filter_align' => '', 'filter_counter' => 'yes', 'category' => 'yes', 'date' => 'yes', 'large' => 4, 'medium' => 3, 'small' => 1, 'thumb_resize' => 'yes', 'include_article_image' => 'yes', 'thumb_width' => 640, 'thumb_height' => 480, 'show_search' => 'no', 'scroll_reveal' => '', 'class' => ''), $atts, 'post_grid');
        $slides = (array) Su_Tools::get_slides($atts);
        $id = uniqid('supg');
        $intro_text = '';
        $title = '';
        $return = array();
        $atts['filter_deeplink'] = $atts['filter_deeplink'] === 'yes' ? 'true' : 'false';
        $lang = JFactory::getLanguage();
        $filter_align = $atts['filter_align'] ? 'su-post-grid-filter-align-' . $atts['filter_align'] : '';
        $filter_counter = '';
        if ($atts['layout'] === 'mosaic') {
            $layout = ' data-layout="mosaic"';
        } elseif ($atts['layout'] === 'masonry') {
            $layout = ' data-layout="grid"';
        } elseif ($atts['layout'] === 'slider') {
            $layout = ' data-layout="slider"';
        } else {
            $layout = ' data-layout="grid"';
        }
        if ($atts['filter_counter'] == 'yes') {
            if ($atts['filter_style'] == 1) {
                $filter_counter = ' (<div class="cbp-filter-counter"></div> ' . JText::_('PLG_SYSTEM_BDTHEMES_SHORTCODES_POST_GRID_ITEMS') . ')';
            } elseif ($atts['filter_style'] == 3) {
                $filter_counter = ' (<div class="cbp-filter-counter"></div>)';
            } else {
                $filter_counter = '<div class="cbp-filter-counter"></div>';
            }
        }
        $thumb_resize_check = ($atts['thumb_resize'] === 'yes' and ($atts['layout'] != 'mosaic' or $atts['layout'] != 'masonry')) ? true : false;
        if (count($slides)) {
            suAsset::addFile('css', 'cubeportfolio.min.css');
            suAsset::addFile('js', 'cubeportfolio.min.js');
            $return[] = '<div id="' . $id . '" class="su-post-grid ' . su_ecssc($atts) . $filter_align . '" data-pgid="' . $id . '"' . $layout . ' data-loading_animation="' . $atts['loading_animation'] . '" data-filter_animation="' . $atts['filter_animation'] . '" data-caption_style="' . $atts['caption_style'] . '" data-horizontal_gap="' . intval($atts['horizontal_gap']) . '" data-vertical_gap="' . intval($atts['vertical_gap']) . '" data-large="' . $atts['large'] . '" data-medium="' . $atts['medium'] . '" data-small="' . $atts['small'] . '" data-filter_deeplink="' . $atts['filter_deeplink'] . '" data-loadmoreaction="' . $atts['show_more_action'] . '"' . su_scroll_reveal($atts) . '>';
            if ($atts['filter'] !== 'no' && $atts['filter_style'] == 1) {
                $return[] = '<div id="' . $id . '_filter" class="cbp-l-filters-dropdown">
                            <div class="cbp-l-filters-dropdownWrap">
                                <div class="cbp-l-filters-dropdownHeader">' . JText::_('PLG_SYSTEM_BDTHEMES_SHORTCODES_POST_GRID_SORT') . '</div>
                                <div class="cbp-l-filters-dropdownList">
                                    <div data-filter="*" class="cbp-filter-item-active cbp-filter-item">
                                        ' . JText::_('PLG_SYSTEM_BDTHEMES_SHORTCODES_POST_GRID_ALL') . $filter_counter . '
                                    </div>';
                $category = array();
                foreach ((array) $slides as $slide) {
                    if (in_array($slide['category'], $category)) {
                        continue;
                    }
                    $category[] = $slide['category'];
                    $return[] = '<div class="cbp-filter-item" data-filter=".' . su_title_class($slide['category']) . '">' . $slide['category'] . ' (<div class="cbp-filter-counter"></div> ' . JText::_('PLG_SYSTEM_BDTHEMES_SHORTCODES_POST_GRID_ITEMS') . ')</div>';
                }
                $return[] = '</div>
                            </div>
                        </div>';
            }
            if ($atts['filter'] !== 'no' and $atts['filter_style'] != 1 and $atts['layout'] != 'slider') {
                if ($atts['filter_style'] == 2) {
                    $filter_style = 'cbp-l-filters-button';
                } elseif ($atts['filter_style'] == 3) {
                    $filter_style = 'cbp-l-filters-alignLeft';
                } elseif ($atts['filter_style'] == 4) {
                    $filter_style = 'cbp-l-filters-alignCenter';
                } elseif ($atts['filter_style'] == 5) {
                    $filter_style = 'cbp-l-filters-alignRight';
                } elseif ($atts['filter_style'] == 6) {
                    $filter_style = 'cbp-l-filters-buttonCenter';
                } elseif ($atts['filter_style'] == 7) {
                    $filter_style = 'cbp-l-filters-work';
                } elseif ($atts['filter_style'] == 8) {
                    $filter_style = 'cbp-l-filters-list';
                } elseif ($atts['filter_style'] == 9) {
                    $filter_style = 'cbp-l-filters-text new_filter';
                }
                $return[] = '<div id="' . $id . '_filter" class="' . $filter_style . '">
                                <div data-filter="*" class="cbp-filter-item-active cbp-filter-item">
                                    ' . JText::_('PLG_SYSTEM_BDTHEMES_SHORTCODES_POST_GRID_ALL') . $filter_counter . '
                                </div>';
                $category = array();
                foreach ((array) $slides as $slide) {
                    if (in_array($slide['category'], $category)) {
                        continue;
                    }
                    $category[] = $slide['category'];
                    $return[] = '<div class="cbp-filter-item" data-filter=".' . su_title_class($slide['category']) . '">' . $slide['category'] . $filter_counter . '</div>';
                }
                if ($atts['show_search'] === 'yes') {
                    $return[] = '<div class="cbp-search cbp-l-filters-right">
                                                    <input id="' . $id . '_search" type="text" placeholder="' . JText::_('PLG_SYSTEM_BDTHEMES_SHORTCODES_POST_GRID_SEARCH') . '" data-search="" class="cbp-search-input">
                                                    <div class="cbp-search-icon"></div>
                                                    <div class="cbp-search-nothing">' . JText::_('PLG_SYSTEM_BDTHEMES_SHORTCODES_NO_SEARCH_RESULT') . ' <i>{{query}}</i></div>
                                                </div>';
                }
                $return[] = '
                        </div>';
            }
            $return[] = '<div id="' . $id . '_container" class="cbp-l-grid-gallery">';
            $limit = 1;
            foreach ((array) $slides as $slide) {
                $thumb_url = su_image_resize($slide['image'], $atts['thumb_width'], $atts['thumb_height'], $thumb_resize_check, 95);
                // Title condition
                if ($slide['title']) {
                    $title = stripslashes($slide['title']);
                }
                $category = str_replace(' ', '-', strtolower($slide['category']));
                $date = $atts['date'] ? '<span class="cbp-l-grid-blog-date">' . JHTML::_('date', $slide['created'], JText::_('DATE_FORMAT_LC3')) . '</span>' : '';
                $show_category = $atts['category'] ? '<span class="cpb-category">' . $slide['category'] . '</span>' : '';
                if (isset($slide['introtext'])) {
                    if ($atts['intro_text_limit'] != 0) {
                        $intro_text = '<div class="cbp-l-grid-blog-desc">' . su_char_limit($slide['introtext'], $atts['intro_text_limit']) . '</div>';
                    }
                }
                $return[] = '
                    <div class="cbp-item ' . $category . '">';
                if (isset($thumb_url['url'])) {
                    $return[] = '<a data-id="' . $slide['id'] . '" href="' . $slide['link'] . '" class="cbp-caption">
                                            <div class="cbp-caption-defaultWrap">';
                    $return[] = '<img src="' . image_media($thumb_url['url']) . '" alt="' . $title . '">';
                    $return[] = '</div>';
                    $return[] = '<div class="cbp-caption-activeWrap">
                                                        <div class="cbp-l-caption-alignCenter">
                                                            <div class="cbp-l-caption-body">
                                                                <div class="cbp-l-caption-text">' . JText::_('PLG_SYSTEM_BDTHEMES_SHORTCODES_POST_GRID_VIEW_POST') . '</div>
                                                            </div>
                                                        </div>
                                                    </div>';
                    $return[] = '</a>';
                }
                $return[] = '<a href="' . $slide['link'] . '" class="cbp-l-grid-blog-title">' . $title . '</a>
                        <div class="su-pgrid-meta">
                            ' . $date . '
                            ' . $show_category . '
                        </div>
                        ' . $intro_text . '

                    </div>';
                if ($limit++ == $atts['limit']) {
                    break;
                }
            }
            $return[] = '</div><div class="clearfix"></div>';
            if ($atts['show_more'] === 'yes' and $atts['layout'] != 'slider') {
                $return[] = '<div id="' . $id . '_btn" class="cbp-l-loadMore-button">
                                <a data-id="' . $id . '" href="' . JRoute::_('index.php?option=com_bdthemes_shortcodes&amp;view=post&amp;layout=default') . '" class="cbp-l-loadMore-link" rel="nofollow">
                                    <span class="cbp-l-loadMore-defaultText">' . JText::_('PLG_SYSTEM_BDTHEMES_SHORTCODES_POST_GRID_LOAD_MORE') . '</span>
                                    <span class="cbp-l-loadMore-loadingText">' . JText::_('PLG_SYSTEM_BDTHEMES_SHORTCODES_POST_GRID_LOADING') . '</span>
                                    <span class="cbp-l-loadMore-noMoreLoading">' . JText::_('PLG_SYSTEM_BDTHEMES_SHORTCODES_POST_GRID_NO_MORE') . '</span>
                                </a>
                                <script type="text/javascript">
                                   var tdata = tdata || [];
                                    tdata["' . $id . '"] = ' . json_encode($atts) . ';
                                    tdata["' . $id . '"]["offset"] =' . $atts["limit"] . '   
                                </script>
                            </div>';
                suAsset::addFile('js', 'cbploadmore.js');
            }
            $return[] = '</div>';
            suAsset::addFile('css', 'post_grid.css', __FUNCTION__);
            suAsset::addFile('js', 'post_grid.js', __FUNCTION__);
            return implode('', $return);
        } else {
            return alert_box(JText::_('PLG_SYSTEM_BDTHEMES_SHORTCODES_POST_GRID_ERROR'), 'warning');
        }
    }
Exemplo n.º 4
0
    public static function portfolio($atts = null, $content = null)
    {
        $return = '';
        $atts = su_shortcode_atts(array('style' => 1, 'source' => '', 'limit' => 15, 'order' => 'created', 'order_by' => 'desc', 'color' => '#cccccc', 'intro_text_limit' => 50, 'filter' => 'yes', 'filter_align' => '', 'grid_type' => 0, 'animation' => 'fade', 'speed' => 600, 'rotate' => 99, 'delay' => 20, 'border' => 0, 'padding' => 10, 'thumb_width' => 640, 'thumb_height' => 480, 'thumb_resize' => 'yes', 'scroll_reveal' => '', 'class' => ''), $atts, 'portfolio');
        $slides = (array) Su_Tools::get_slides($atts);
        $thumb_resize_check = $atts['thumb_resize'] === 'yes' ? true : false;
        $filter_align = $atts['filter_align'] ? ' su-portfolio-filter-align-' . $atts['filter_align'] : '';
        $intro_text = '';
        $title = '';
        if (count($slides)) {
            $id = uniqid('susc_');
            $return .= '<div id="' . $id . '"' . su_scroll_reveal($atts) . ' class="su-portfolio sup-style' . $atts['style'] . $filter_align . ' ' . su_ecssc($atts) . '" >';
            if ($atts['filter'] !== 'no') {
                $return .= '
                <div class="filter_padder" >
                    <div class="filter_wrapper">
                        <div class="filter selected" data-category="cat-all">' . JText::_('PLG_SYSTEM_BDTHEMES_SHORTCODES_PORTFOLIO_ALL') . '</div>';
                $category = array();
                foreach ((array) $slides as $slide) {
                    if (in_array($slide['category'], $category)) {
                        continue;
                    }
                    $category[] = $slide['category'];
                    $return .= '<div class="filter" data-category="' . strtolower(preg_replace("/[^a-zA-Z0-9]/", "", $slide['category'])) . '">' . $slide['category'] . '</div>';
                }
                $return .= '
                        <div class="clear"></div>
                    </div>
                </div>
                <div class="clear"></div>';
            }
            $return .= '
            <div class="megafolio-container" 
                data-grid_types="' . $atts['grid_type'] . '"
                data-speed="' . $atts['speed'] . '"
                data-delay="' . $atts['delay'] . '"
                data-rotate="' . $atts['rotate'] . '"
                data-padding="' . intval($atts['padding']) . '"
                data-animation="' . $atts['animation'] . '" >';
            $limit = 1;
            foreach ((array) $slides as $slide) {
                $thumb_url = su_image_resize($slide['image'], $atts['thumb_width'], $atts['thumb_height'], $thumb_resize_check, 95);
                // Title condition
                if ($slide['title']) {
                    $title = stripslashes($slide['title']);
                }
                if (isset($slide['introtext'])) {
                    if ($atts['intro_text_limit'] != 0) {
                        $intro_text = su_char_limit($slide['introtext'], $atts['intro_text_limit']);
                    }
                }
                $category = strtolower(preg_replace("/[^a-zA-Z0-9]/", "", $slide['category']));
                if ($atts['style'] == 2) {
                    $return .= '
                            <div class="mega-entry cat-all ' . $category . '" data-src="' . image_media($thumb_url['url']) . '" data-width="500" data-height="500">
                                <div class="links-container">
                                    <a class="hoverlink project-link" href="' . $slide['link'] . '" title="' . strip_tags($title) . '">
                                        <i class=" fa fa-link"></i>
                                        <span></span>
                                    </a>
                                    <a class="hoverlink su-lightbox-item" href="' . image_media($slide['image']) . '" title="' . strip_tags($title) . '">
                                        <i class=" fa fa-search"></i>
                                        <span></span>
                                    </a>
                                </div>
                                <div class="rollover-content mega-covercaption mega-square-bottom mega-portrait-bottom">

                                    <div class="rollover-content-container">    
                                        <h3 class="entry-title">' . $title . '</h3>
                                        
                                        <div class="entry-meta">
                                            <div class="su-portfolio-date">
                                                <span class="su-pdate">' . JHTML::_('date', $slide['created'], JText::_('DATE_FORMAT_LC3')) . '</span>
                                            </div>
                                            <div class="portfolio-categories">
                                                <span class="category">' . $category . '</span>
                                            </div>
                                        </div>
                                    </div> 
                                </div> 
                            </div>';
                } elseif ($atts['style'] == 3) {
                    $return .= '
                        <div class="mega-entry cat-all ' . $category . '" data-src="' . image_media($thumb_url['url']) . '" data-width="500" data-height="500">
                            <div class="mega-hover notitle">
                                <a class="su-lightbox-item" href="' . image_media($slide['image']) . '" title="' . strip_tags($title) . '">
                                    <div class="mega-hoverview fa fa-search"></div>
                                </a>
                                <a class="hoverlink project-link" href="' . $slide['link'] . '" title="' . strip_tags($title) . '">
                                    <i class="mega-hoverlink fa fa-link"></i>
                                </a>
                            </div>
                            
                            <div class="gallerycaption-bottom">
                                ' . $title . '
                                <div class="gallerysubline">' . $category . '</div>
                            </div>
                        </div>';
                } elseif ($atts['style'] == 4) {
                    $return .= '
                        <div class="mega-entry portfolio-style4 cat-all ' . $category . '" data-src="' . image_media($thumb_url['url']) . '" data-width="500" data-height="500">
                            
                            <div class="portfolio-links">
                                <a class="su-lightbox-item" href="' . image_media($slide['image']) . '" title="' . strip_tags($title) . '">
                                    <i class="fa fa-search"></i>
                                </a>
                                <a class="portfolio-link" href="' . $slide['link'] . '" title="' . strip_tags($title) . '">
                                    <i class="fa fa-link"></i>
                                </a>
                            </div>
                            <div class="portfolio-content">
                                <div class="portfolio-title">' . $title . '</div>
                                <div class="portfolio-desc">' . $intro_text . '</div>
                            </div>
                        </div>';
                } else {
                    $return .= '
                        <div class="mega-entry cat-all ' . $category . '" data-src="' . image_media($thumb_url['url']) . '" data-width="500" data-height="500">
                            <div class="mega-hover">
                                <div class="mega-hovertitle">' . $title . '
                                    <div class="mega-hoversubtitle">' . $intro_text . '</div>
                                </div>
                                <a href="' . $slide['link'] . '" title="' . strip_tags($title) . '">
                                    <i class="mega-hoverlink fa fa-link"></i>
                                </a>
                                <a class="su-lightbox-item" href="' . image_media($slide['image']) . '" title="' . strip_tags($title) . '">
                                    <i class="mega-hoverview fa fa-search"></i>
                                </a>                                
                            </div>
                        </div>';
                }
                if ($limit++ == $atts['limit']) {
                    break;
                }
            }
            $return .= '</div></div>';
            $css = '
              #' . $id . ' .mega-hoversubtitle { color: ' . $atts['color'] . ';} 
              #' . $id . ' .mega-entry .mega-entry-innerwrap { border: ' . $atts['border'] . ';} 
            ';
            suAsset::addString('css', $css);
            suAsset::addFile('css', 'portfolio.css', __FUNCTION__);
            suAsset::addFile('css', 'magnific-popup.css');
            suAsset::addFile('js', 'magnific-popup.js');
            suAsset::addFile('js', 'themepunch_tools.js', __FUNCTION__);
            suAsset::addFile('js', 'themepunch_megafoliopro.js', __FUNCTION__);
            suAsset::addFile('js', 'portfolio.js', __FUNCTION__);
        } else {
            $return = alert_box(JText::_('PLG_SYSTEM_BDTHEMES_SHORTCODES_PORTFOLIO_INF'), 'warning');
        }
        return $return;
    }