function ut_portfolio_flex_slider($postID, $singular = false, $image_style = "ut-square", $ut_page_hero_type = '') { /* switch option key */ switch ($ut_page_hero_type) { case 'slider': $optionkey = 'ut_page_hero_slider'; break; case 'transition': $optionkey = 'ut_page_hero_fancy_slider'; break; case 'tabs': $optionkey = 'ut_page_hero_tabs'; break; default: $optionkey = ''; } $ut_background_slider_slides = get_post_meta($postID, $optionkey, true); if (empty($ut_page_hero_type) || empty($ut_background_slider_slides)) { /* get all necessary image ID's from content gallery */ $ut_gallery_images = ut_portfolio_extract_gallery_images_ids($postID); /* start output */ if (!empty($ut_gallery_images) && is_array($ut_gallery_images)) { $script = "<script type='text/javascript'>\n /* <![CDATA[ */\n \n (function(\$){\n \n 'use strict';\n \n \$(window).load(function(){\n \n \$('#portfolio-gallery-slider-{$postID}').flexslider({\n \n animation: 'fade',\n controlNav: false,\n animationLoop: true,\n slideshow: false,\n smoothHeight: true,\n startAt: 0\n \n });\n \n });\n \n })(jQuery);\n \n /* ]]> */\n </script>"; $slider = '<div class="ut-portfolio-gallery-slider flexslider" id="portfolio-gallery-slider-' . $postID . '">'; $slider .= '<ul class="slides">'; foreach ($ut_gallery_images as $ID => $imagedata) { if (isset($imagedata->guid) && !empty($imagedata->guid)) { $image = $imagedata->guid; // fallback to older wp versions } else { $image = wp_get_attachment_image_src($imagedata, 'single-post-thumbnail'); } if (!empty($image[0])) { $slider .= '<li>'; /* output for single pages */ if (!$singular) { $slider .= '<img width="' . $image[1] . '" height="' . $image[2] . '" src="" class="ut-load-me ' . $image_style . '" alt="' . get_the_title($postID) . '" data-original="' . $image[0] . '" />'; } else { $slider .= '<img src="' . $image[0] . '" class="ut-load-me ' . $image_style . '" alt="' . get_the_title($postID) . '" />'; } $slider .= '</li>'; } } $slider .= '</ul>'; $slider .= '</div>'; if ($singular) { $slider = ut_compress_java($script) . $slider; } return $slider; } } if (!empty($ut_page_hero_type) && !empty($ut_background_slider_slides) && is_array($ut_background_slider_slides)) { $script = "<script type='text/javascript'>\n /* <![CDATA[ */\n \n (function(\$){\n \n 'use strict';\n \n \$(window).load(function(){\n \n \$('#portfolio-gallery-slider-{$postID}').flexslider({\n \n animation: 'fade',\n controlNav: false,\n animationLoop: true,\n slideshow: false,\n smoothHeight: true,\n startAt: 0\n \n });\n \n });\n \n })(jQuery);\n \n /* ]]> */\n </script>"; $slider = '<div class="ut-portfolio-gallery-slider flexslider" id="portfolio-gallery-slider-' . $postID . '">'; $slider .= '<ul class="slides">'; foreach ($ut_background_slider_slides as $slide) { $slider .= '<li>'; if (!$singular) { $image = array("1920", "1080"); if (function_exists('ut_get_image_id')) { $imageID = ut_get_image_id($slide['image']); $image = wp_get_attachment_image_src($imageID, 'single-post-thumbnail'); } $slider .= '<img width="' . $image[1] . '" height="' . $image[2] . '" src="" class="ut-load-me ' . $image_style . '" alt="' . get_the_title($postID) . '" data-original="' . $slide['image'] . '" />'; } else { $slider .= '<img src="' . $slide['image'] . '" class="ut-load-me ' . $image_style . '" alt="' . get_the_title($postID) . '" />'; } $slider .= '</li>'; } $slider .= '</ul>'; $slider .= '</div>'; if ($singular) { $slider = ut_compress_java($script) . $slider; } return $slider; } }
static function generate_gallery_script($gallery_options, $counter = 3) { $gutter = !empty($gallery_options['gutter']) ? 'on' : ''; $script = ' <script type="text/javascript"> /* <![CDATA[ */ (function($) { $(document).ready(function($){ "use strict"; var $win = $(window), $container = $("#ut-portfolio-items-' . self::$token . '"), columns = ' . $gallery_options['columns'] . ', gutter = "' . $gutter . '", gutterwidth = "", $sortedItems = ""; function ut_call_isotope( update ) { if( $(window).width() > 1024) { columns = ' . $gallery_options['columns'] . '; } if( $(window).width() <= 1024) { columns = 3; } if( $(window).width() <= 767) { columns = 2; } if( gutter === "on" ) { $container.children().width( Math.floor($container.width() / columns - ( 20 * ( columns - 1 ) / columns ))).addClass("show"); gutterwidth = 20; } else { $container.children().width( Math.floor($container.width() / columns )).addClass("show"); gutterwidth = 0; } /* IsoTope ================================================== */ $container.isotope({ itemSelector : ".ut-masonry", animationEngine : "best-available", resizable: false, layoutMode: "fitRows", masonry: { columnWidth: $container.width() / columns - gutterwidth }, itemPositionDataEnabled: true, onLayout: function (elems, instance) { // trigger scroll for lazy load $win.trigger("scroll"); $container.addClass("animated"); elems.addClass("animated"); } }).isotope("reLayout"); } function ut_update_isotope_grid() { if( $sortedItems ) { $container.find(".last").removeClass("last"); var i = columns - 1; $.each($sortedItems, function(key, value) { if($(this).hasClass("isotope-hidden")) { i++; } if(((key-i)/ columns)==0) { $(this).addClass("last"); i = columns+i; } }); $container.isotope("reLayout",function(){ $.waypoints("refresh"); }); } } $(window).smartresize(function(){ /* update isotope */ ut_call_isotope(); /* update isotope grid */ ut_update_isotope_grid(); }); $(window).load(function() { /* create isotope */ ut_call_isotope(); /* store sorted items */ $sortedItems = $container.data("isotope").$filteredAtoms; /* update isotope grid */ ut_update_isotope_grid();'; /* additonal call for ajax filter */ if ($gallery_options['filter_type'] == 'ajax') { $script .= ' /* IsoTope Filtering ================================================== */ $("#ut-portfolio-menu-' . self::$token . ' a").each(function( index ) { var searchforclass = $(this).attr("data-filter"); if( !$(searchforclass).length ) { // hide filter if we do not have any children to filter $(this).hide(); } }); $("#ut-portfolio-menu-' . self::$token . ' a").click(function(){ var selector = $(this).attr("data-filter"); $container.isotope({ filter: selector }); /* update isotope grid */ ut_update_isotope_grid(); if ( !$(this).hasClass("selected") ) { $(this).parents("#ut-portfolio-menu-' . self::$token . '").find(".selected").removeClass("selected"); $(this).addClass("selected"); } return false; }); '; } $script .= ' }); }); }(jQuery)); /* ]]> */ </script> '; return ut_compress_java($script); }