aling" is used we make a fallback to WP default "Medium".', 'avia_framework' ), 'id' => 'size', 'type' => 'select', 'std' => '', 'lockable' => true, 'subtype' => AviaHelper::get_registered_image_sizes( array( 'thumbnail', 'logo', 'widget', 'slider_thumb' ) ) ), array( 'name' => __( 'Image size behaviour', 'avia_framework' ), 'desc' => __( 'Should the image stretch to fill the available space?', 'avia_framework' ), 'id' => 'img_size_behave', 'type' => 'select', 'std' => '', 'lockable' => true, 'subtype' => array( __( 'Image stretches to fill the available space', 'avia_framework' ) => '', __( 'Do not stretch image. If more space is available image will be centered.', 'avia_framework' ) => 'no_stretch', ) ), array( 'name' => __( 'Display Border around images?', 'avia_framework' ), 'desc' => __( 'Do you want to display a light border around the images?', 'avia_framework' ), 'id' => 'border', 'type' => 'select', 'std' => '', 'lockable' => true, 'subtype' => array( __( 'Display border', 'avia_framework' ) => '', __( 'Do not display border', 'avia_framework' ) => 'av-border-deactivate' ), ) ); $template = array( array( 'type' => 'template', 'template_id' => 'toggle', 'title' => __( 'Images', 'avia_framework' ), 'content' => $c ), ); AviaPopupTemplates()->register_dynamic_template( $this->popup_key( 'styling_image' ), $template ); $c = array( array( 'name' => __( 'Logo Slider or Logo Grid Layout', 'avia_framework' ), 'desc' => __( 'Do you want to use a grid or a slider to display the logos?', 'avia_framework' ), 'id' => 'type', 'type' => 'select', 'std' => 'slider', 'lockable' => true, 'subtype' => array( __( 'Slider', 'avia_framework' ) => 'slider', __( 'Grid', 'avia_framework' ) => 'grid' ), ), array( 'name' => __( 'Slider controls', 'avia_framework' ), 'desc' => __( 'Do you want to display slider control buttons?', 'avia_framework' ), 'id' => 'navigation', 'type' => 'select', 'std' => 'arrows', 'lockable' => true, 'required' => array( 'type', 'equals', 'slider' ), 'subtype' => array( __( 'Yes, display arrow control buttons', 'avia_framework' ) => 'arrows', __( 'Yes, display dot control buttons', 'avia_framework' ) => 'dots', __( 'No, do not display any control buttons', 'avia_framework' ) => 'no' ), ), ); $template = array( array( 'type' => 'template', 'template_id' => 'toggle', 'title' => __( 'Slider', 'avia_framework' ), 'content' => $c ), ); AviaPopupTemplates()->register_dynamic_template( $this->popup_key( 'styling_slider' ), $template ); /** * Advanced Tab * ============ */ $c = array( array( 'type' => 'template', 'template_id' => 'heading_tag', 'theme_default' => 'h3', 'context' => __CLASS__, 'lockable' => true, ), ); $template = array( array( 'type' => 'template', 'template_id' => 'toggle', 'title' => __( 'Heading', 'avia_framework' ), 'content' => $c ), ); AviaPopupTemplates()->register_dynamic_template( $this->popup_key( 'advanced_heading' ), $template ); $c = array( array( 'name' => __( 'Transition', 'avia_framework' ), 'desc' => __( 'Choose the transition for your logo slider.', 'avia_framework' ), 'id' => 'animation', 'type' => 'select', 'std' => 'slide', 'lockable' => true, 'required' => array( 'type', 'equals', 'slider' ), 'subtype' => array( __( 'Slide', 'avia_framework' ) => 'slide', __( 'Fade', 'avia_framework' ) => 'fade' ), ), array( 'name' => __( 'Autorotation active?', 'avia_framework' ), 'desc' => __( 'Check if the logo slider should rotate by default', 'avia_framework' ), 'id' => 'autoplay', 'type' => 'select', 'std' => 'false', 'lockable' => true, 'required' => array( 'type', 'equals', 'slider' ), 'subtype' => array( __( 'Yes', 'avia_framework' ) => 'true', __( 'No', 'avia_framework' ) => 'false' ) ), array( 'name' => __( 'Slider autorotation duration', 'avia_framework' ), 'desc' => __( 'Images will be shown the selected amount of seconds.', 'avia_framework' ), 'id' => 'interval', 'type' => 'select', 'std' => '5', 'lockable' => true, 'required' => array( 'autoplay', 'equals', 'true' ), 'subtype' => array( '3'=>'3', '4'=>'4', '5'=>'5', '6'=>'6', '7'=>'7', '8'=>'8', '9'=>'9', '10'=>'10', '15'=>'15', '20'=>'20', '30'=>'30', '40'=>'40', '60'=>'60', '100'=>'100' ) ), ); $template = array( array( 'type' => 'template', 'template_id' => 'toggle', 'title' => __( 'Slider Animation', 'avia_framework' ), 'content' => $c ), ); AviaPopupTemplates()->register_dynamic_template( $this->popup_key( 'advanced_animation_slider' ), $template ); } /** * Creates the modal popup for a single entry * * @since 4.6.4 * @return array */ protected function create_modal() { $elements = array( array( 'type' => 'tab_container', 'nodescription' => true ), array( 'type' => 'tab', 'name' => __( 'Content', 'avia_framework' ), 'nodescription' => true ), array( 'type' => 'template', 'template_id' => $this->popup_key( 'modal_content_slidecontent' ) ), array( 'type' => 'tab_close', 'nodescription' => true ), array( 'type' => 'tab', 'name' => __( 'Advanced', 'avia_framework' ), 'nodescription' => true ), array( 'type' => 'template', 'template_id' => $this->popup_key( 'modal_advanced_link' ) ), array( 'type' => 'tab_close', 'nodescription' => true ), array( 'type' => 'template', 'template_id' => 'element_template_selection_tab', 'args' => array( 'sc' => $this, 'modal_group' => true ) ), array( 'type' => 'tab_container_close', 'nodescription' => true ) ); return $elements; } /** * Register all templates for the modal group popup * * @since 4.6.4 */ protected function register_modal_group_templates() { /** * Content Tab * =========== */ $c = array( array( 'name' => __( 'Choose another Image', 'avia_framework' ), 'desc' => __( 'Either upload a new, or choose an existing image from your media library', 'avia_framework' ), 'id' => 'id', 'fetch' => 'id', 'type' => 'image', 'title' => __( 'Change Image', 'avia_framework' ), 'button' => __( 'Change Image', 'avia_framework' ), 'std' => '', 'lockable' => true, 'locked' => array( 'id' ) ), array( 'name' => __( 'Image Caption', 'avia_framework' ), 'desc' => __( 'Display a image caption on hover', 'avia_framework' ), 'id' => 'hover', 'type' => 'input', 'std' => '', 'lockable' => true, ) ); AviaPopupTemplates()->register_dynamic_template( $this->popup_key( 'modal_content_slidecontent' ), $c ); /** * Advanced Tab * ============ */ $c = array( array( 'type' => 'template', 'template_id' => 'linkpicker_toggle', 'name' => __( 'Partner/Logo Link?', 'avia_framework' ), 'desc' => __( 'Where should the image/logo link to?', 'avia_framework' ), 'subtypes' => array( 'no', 'lightbox', 'manually', 'single', 'taxonomy' ), 'target_id' => 'link_target', 'lockable' => true, 'no_toggle' => true ), array( 'name' => __( 'Link Title', 'avia_framework' ), 'desc' => __( 'Enter a link title', 'avia_framework' ), 'id' => 'linktitle', 'type' => 'input', 'std' => '', 'lockable' => true, 'required' => array( 'link', 'equals', 'manually' ) ) ); AviaPopupTemplates()->register_dynamic_template( $this->popup_key( 'modal_advanced_link' ), $c ); } /** * Editor Element - this function defines the visual appearance of an element on the AviaBuilder Canvas * Most common usage is to define some markup in the $params['innerHtml'] which is then inserted into the drag and drop container * Less often used: $params['data'] to add data attributes, $params['class'] to modify the className * * * @param array $params this array holds the default values for $content and $args. * @return $params the return array usually holds an innerHtml key that holds item specific markup. */ function editor_element( $params ) { $default = array(); $locked = array(); $attr = $params['args']; Avia_Element_Templates()->set_locked_attributes( $attr, $this, $this->config['shortcode'], $default, $locked ); $template = $this->update_template_lockable( 'heading', ' - {{heading}}' , $locked ); $heading = ! empty( $attr['heading'] ) ? "- {$attr['heading']}" : ''; $params = parent::editor_element( $params ); $params['innerHtml'] .= "
{$heading}
"; return $params; } /** * Editor Sub Element - this function defines the visual appearance of an element that is displayed within a modal window and on click opens its own modal window * Works in the same way as Editor Element * @param array $params this array holds the default values for $content and $args. * @return $params the return array usually holds an innerHtml key that holds item specific markup. */ function editor_sub_element( $params ) { $default = array(); $locked = array(); $attr = $params['args']; Avia_Element_Templates()->set_locked_attributes( $attr, $this, $this->config['shortcode_nested'][0], $default, $locked ); $img_template = $this->update_option_lockable( array( 'id', 'img_fakeArg' ), $locked ); $template = $this->update_option_lockable( 'hover', $locked ); $thumbnail = isset( $attr['id'] ) ? wp_get_attachment_image( $attr['id'] ) : ''; $params['innerHtml'] = ''; $params['innerHtml'] .= "
"; $params['innerHtml'] .= "{$thumbnail}"; $params['innerHtml'] .= "
"; $params['innerHtml'] .= "

{$attr['hover']}

"; $params['innerHtml'] .= '
'; $params['innerHtml'] .= '
'; return $params; } /** * Returns false by default. * Override in a child class if you need to change this behaviour. * * @since 4.2.1 * @param string $shortcode * @return boolean */ public function is_nested_self_closing( $shortcode ) { if( in_array( $shortcode, $this->config['shortcode_nested'] ) ) { return true; } return false; } /** * Frontend Shortcode Handler * * @param array $atts array of attributes * @param string $content text within enclosing form of shortcode element * @param string $shortcodename the shortcode found, when == callback name * @return string $output returns the modified html string */ function shortcode_handler( $atts, $content = '', $shortcodename = '', $meta = '' ) { $default = array( 'type' => 'grid', 'size' => 'featured', 'ids' => '', 'autoplay' => 'false', 'navigation' => 'arrows', 'animation' => 'slide', 'interval' => 5, 'lazy_loading' => 'disabled', 'img_scrset' => '', 'heading' => '', 'hover' => '', 'columns' => 3, 'border' => '', 'img_size_behave' => '', 'heading_tag' => '', 'heading_class' => '', ); $locked = array(); Avia_Element_Templates()->set_locked_attributes( $atts, $this, $shortcodename, $default, $locked, $content ); Avia_Element_Templates()->add_template_class( $meta, $atts, $default ); $meta = aviaShortcodeTemplate::set_frontend_developer_heading_tag( $atts, $meta ); extract( AviaHelper::av_mobile_sizes( $atts ) ); //return $av_font_classes, $av_title_font_classes and $av_display_classes $add = array( 'handle' => $shortcodename, 'content' => ShortcodeHelper::shortcode2array( $content ), 'class' => $meta['el_class'] . ' ' . $av_display_classes, 'custom_markup' => $meta['custom_markup'], 'custom_el_id' => ! empty( $meta['custom_el_id'] ) ? $meta['custom_el_id'] : '', 'heading_tag' => ! empty( $meta['heading_tag'] ) ? $meta['heading_tag'] : '', 'heading_class' => ! empty( $meta['heading_class'] ) ? $meta['heading_class'] : '', ); $defaults = array_merge( $default, $add ); $atts = shortcode_atts( $defaults, $atts, $this->config['shortcode'] ); foreach( $atts['content'] as $key => &$item ) { $item_def = $this->get_default_modal_group_args(); Avia_Element_Templates()->set_locked_attributes( $item['attr'], $this, $this->config['shortcode_nested'][0], $item_def, $locked, $item['content'] ); } unset( $item ); if( 'disabled' == $atts['img_scrset'] ) { Av_Responsive_Images()->force_disable( 'disabled' ); } $logo = new avia_partner_logo( $atts ); $html = $logo->html(); Av_Responsive_Images()->force_disable( 'reset' ); return $html; } } } if ( ! class_exists( 'avia_partner_logo' ) ) { class avia_partner_logo { /** * slider count for the current page * * @var int */ static protected $slider = 0; /** * base config set on initialization * * @var array */ protected $config; /** * attachment posts for the current slider * * @var array */ protected $slides; /** * number of slides * * @var int */ protected $slide_count; /** * unique array of slide id's * * @var array */ protected $id_array; /** * * @param array $config */ public function __construct( array $config ) { $this->slides = array(); $this->slide_count = 0; $this->id_array = array(); $this->config = array_merge( array( 'type' => 'grid', 'size' => 'featured', 'ids' => '', 'autoplay' => 'false', 'navigation' => 'arrows', 'animation' => 'slide', 'handle' => '', 'heading' => '', 'border' => '', 'columns' => 3, 'interval' => 5, 'class' => '', 'custom_markup' => '', 'custom_el_id' => '', 'heading_tag' => '', 'heading_class' => '', 'hover' => '', 'css_id' => '', 'img_size_behave' =>'', 'lazy_loading' => 'disabled', 'content' => array() ), $config ); /** * @since 4.7.6.2 * @param array $this->config * @return array */ $this->config = apply_filters( 'avf_partner_logo_config', $this->config ); //if we got subslides overwrite the id array if( ! empty( $this->config['content'] ) ) { $this->extract_subslides( $this->config['content'] ); } $this->set_slides( $this->config['ids'] ); } /** * * @since 4.2.5 * @added_by Günter */ public function __destruct() { unset( $this->slides ); unset( $this->config ); unset( $this->id_array ); } /** * * @param string $ids * @return void */ public function set_slides( $ids ) { if( empty( $ids ) ) { return; } $this->slides = get_posts( array( 'include' => $ids, 'post_status' => 'inherit', 'post_type' => 'attachment', 'post_mime_type' => 'image', 'order' => 'ASC', 'orderby' => 'post__in' ) ); //resort slides so the id of each slide matches the post id $new_slides = array(); $new_ids = array(); foreach( $this->slides as $slide ) { $new_slides[ $slide->ID ] = $slide; $new_ids[] = $slide->ID; } $slideshow_data = array(); $slideshow_data['slides'] = $new_slides; $slideshow_data['id_array'] = explode( ',', $ids ); $slideshow_data['slide_count'] = count( $slideshow_data['id_array'] ); /** * @used_by config-wpml\config.php 10 * @since 4.4.2 */ $slideshow_data = apply_filters( 'avf_avia_builder_slideshow_filter', $slideshow_data, $this ); $this->slides = $slideshow_data['slides']; $this->id_array = $slideshow_data['id_array']; $this->slide_count = $slideshow_data['slide_count']; } public function set_size( $size ) { $this->config['size'] = $size; } public function set_extra_class( $class ) { $this->config['class'] .= " {$class}"; } /** * Create the html * * @return string */ public function html() { $output = ''; $counter = 0; avia_partner_logo::$slider++; if( $this->slide_count == 0 ) { return $output; } extract( $this->config ); $default_heading = ! empty( $heading_tag ) ? $heading_tag : 'h3'; $args = array( 'heading' => $default_heading, 'extra_class' => $heading_class ); $extra_args = array( $this ); /** * @since 4.5.5 * @return array */ $args = apply_filters( 'avf_customize_heading_settings', $args, __CLASS__, $extra_args ); $heading_tag = ! empty( $args['heading'] ) ? $args['heading'] : $default_heading; $css = ! empty( $args['extra_class'] ) ? $args['extra_class'] : $heading_class; $extraClass = 'first'; $grid = 'one_third'; $slide_loop_count = 1; $loop_counter = 1; $total = $columns % 2 ? 'odd' : 'even'; $heading = ! empty( $heading ) ? "<{$heading_tag} class='{$css}'>{$heading}" : ' '; switch( $columns ) { case '1': $grid = 'av_fullwidth'; break; case '2': $grid = 'av_one_half'; break; case '3': $grid = 'av_one_third'; break; case '4': $grid = 'av_one_fourth'; break; case '5': $grid = 'av_one_fifth'; break; case '6': $grid = 'av_one_sixth'; break; case '7': $grid = 'av_one_seventh'; break; case '8': $grid = 'av_one_eighth'; break; } $data = AviaHelper::create_data_string( array( 'autoplay' => $autoplay, 'interval' => $interval, 'animation' => $animation ) ); $output .= "
"; $heading_class = ''; if( $navigation == 'no' ) { $heading_class .= ' no-logo-slider-navigation '; } if( $heading == ' ') { $heading_class .= ' no-logo-slider-heading '; } $output .= "
"; if( $heading != ' ' || $navigation != 'no' ) { $output .= "
{$heading}
"; } if( count( $this->id_array ) > $columns && $type == 'slider' && $navigation != 'no' ) { if( $navigation == 'arrows' ) { $output .= $this->slide_navigation_arrows(); } } $output .= '
'; $output .= "
"; $ratio_style = ''; foreach( $this->subslides as $key => $slides ) { $id = isset( $slides['attr']['id'] ) ? $slides['attr']['id'] : 0; $img = ''; $link = ''; if( isset( $this->slides[ $id ] ) ) { $slide = $this->slides[ $id ]; $img_src = wp_get_attachment_image_src( $slide->ID, $size ); if( empty( $ratio_style ) ) { $width = intval( $img_src[1] ); $height = intval( $img_src[2] ); /** * if first image is svg ( $width = 0 ) we check for selected image size or make a fallback to WP medium 300 * 300 if no scaling * * @since 4.8.6.3 */ if( 0 === $width ) { global $_wp_additional_image_sizes; if( 'large' == $size ) { $width = get_option( 'large_size_w' ); $height = get_option( 'large_size_h' ); } else if( 'no scaling' == $size || ! isset( $_wp_additional_image_sizes[ $size ] ) ) { $width = get_option( 'medium_size_w' ); $height = get_option( 'medium_size_h' ); } else { $width = $_wp_additional_image_sizes[ $size ]['width']; $height = $_wp_additional_image_sizes[ $size ]['height']; } } $ratio = ( 100 / $width ) * $height; $ratio_style = "padding-bottom:{$ratio}%;"; } $meta = array_merge( array( 'link' => '', 'link_target' => '', 'linktitle' => '', 'hover' => '', 'custom_markup' => '' ), $slides['attr'] ); extract( $meta ); $style = "style='{$ratio_style} background-image:url({$img_src[0]});'"; $img = ""; if( $img_size_behave == 'no_stretch' ) { $img = wp_get_attachment_image( $slide->ID, $size ); $img = Av_Responsive_Images()->make_image_responsive( $img, $slide->ID, $this->config['lazy_loading'] ); } $link = AviaHelper::get_url( $link, $slide->ID, true ); $blank = AviaHelper::get_link_target( $link_target ); } $parity = $loop_counter % 2 ? 'odd' : 'even'; $last = $this->slide_count == $slide_loop_count ? " post-entry-last " : ''; $post_class = "post-entry slide-entry-overview slide-loop-{$slide_loop_count} slide-parity-{$parity} {$last}"; $thumb_class = 'real-thumbnail'; $single_data = empty( $hover ) ? '' : 'data-avia-tooltip="' . $hover . '"'; if( $loop_counter == 1 ) { $output .= "
"; } if( ! empty( $link ) ) { $lightbox_attr = Av_Responsive_Images()->html_attr_image_src( $link, false ); $imgage = "{$img}"; } else { $imgage = $img; } $output .= "
"; $output .= $imgage; $output .= '
'; $loop_counter ++; $slide_loop_count ++; $extraClass = ''; if( $loop_counter > $columns ) { $loop_counter = 1; $extraClass = 'first'; } if( $loop_counter == 1 || ! empty( $last ) ) { $output .= '
'; } } $output .= '
'; if( count( $this->id_array ) > $columns && $type == 'slider' && $navigation != 'no' ) { if( $navigation == 'dots' ) { $output .= $this->slide_navigation_dots(); } } $output .= '
'; return $output; } /** * Create arrows to scroll slides * * @since 4.8.3 reroute to aviaFrontTemplates * @return string */ protected function slide_navigation_arrows() { $args = array( 'context' => get_class(), 'params' => $this->config ); return aviaFrontTemplates::slide_navigation_arrows( $args ); } /** * * @return string */ protected function slide_navigation_dots() { $args = array( 'total_entries' => $this->slide_count, 'container_entries' => $this->config['columns'], 'context' => get_class(), 'params' => $this->config ); return aviaFrontTemplates::slide_navigation_dots( $args ); } /** * * @param array $slide_array */ protected function extract_subslides( $slide_array ) { $this->config['ids'] = array(); $this->subslides = array(); foreach( $slide_array as $key => $slide ) { $this->subslides[ $key ] = $slide; $this->config['ids'][] = $slide['attr']['id']; } $this->config['ids'] = implode( ',', $this->config['ids'] ); unset( $this->config['content'] ); } } } 1.0Stichting Collot Zien en Belevenhttps://www.collotzienenbeleven.nlStichting Collot Zien en Belevenhttps://www.collotzienenbeleven.nlWelke Kaarten Met 21rich600338<blockquote class="wp-embedded-content" data-secret="KrNi6tRXWW"><a href="https://www.collotzienenbeleven.nl/welke-kaarten-met-21/">Welke Kaarten Met 21</a></blockquote><iframe sandbox="allow-scripts" security="restricted" src="https://www.collotzienenbeleven.nl/welke-kaarten-met-21/embed/#?secret=KrNi6tRXWW" width="600" height="338" title="“Welke Kaarten Met 21” — Stichting Collot Zien en Beleven" data-secret="KrNi6tRXWW" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" class="wp-embedded-content"></iframe><script type="text/javascript"> /* <![CDATA[ */ /*! This file is auto-generated */ !function(d,l){"use strict";l.querySelector&&d.addEventListener&&"undefined"!=typeof URL&&(d.wp=d.wp||{},d.wp.receiveEmbedMessage||(d.wp.receiveEmbedMessage=function(e){var t=e.data;if((t||t.secret||t.message||t.value)&&!/[^a-zA-Z0-9]/.test(t.secret)){for(var s,r,n,a=l.querySelectorAll('iframe[data-secret="'+t.secret+'"]'),o=l.querySelectorAll('blockquote[data-secret="'+t.secret+'"]'),c=new RegExp("^https?:$","i"),i=0;i<o.length;i++)o[i].style.display="none";for(i=0;i<a.length;i++)s=a[i],e.source===s.contentWindow&&(s.removeAttribute("style"),"height"===t.message?(1e3<(r=parseInt(t.value,10))?r=1e3:~~r<200&&(r=200),s.height=r):"link"===t.message&&(r=new URL(s.getAttribute("src")),n=new URL(t.value),c.test(n.protocol))&&n.host===r.host&&l.activeElement===s&&(d.top.location.href=t.value))}},d.addEventListener("message",d.wp.receiveEmbedMessage,!1),l.addEventListener("DOMContentLoaded",function(){for(var e,t,s=l.querySelectorAll("iframe.wp-embedded-content"),r=0;r<s.length;r++)(t=(e=s[r]).getAttribute("data-secret"))||(t=Math.random().toString(36).substring(2,12),e.src+="#?secret="+t,e.setAttribute("data-secret",t)),e.contentWindow.postMessage({message:"ready",secret:t},"*")},!1)))}(window,document); /* ]]> */ </script>