/** * Render the shortcode * @param array $args Shortcode paramters * @param string $content Content between shortcode * @return string HTML output */ function render($args, $content = '') { global $smof_data; global $evl_options; $defaults = T4PCore_Plugin::set_shortcode_defaults(array('class' => '', 'id' => '', 'align' => '', 'bordercolor' => '', 'bordersize' => $smof_data['imageframe_border_size'] . $evl_options['evl_shortcode_image_frame_border_size'], 'lightbox' => 'no', 'style' => '', 'style_type' => 'none', 'stylecolor' => '', 'animation_type' => '', 'animation_direction' => 'left', 'animation_speed' => ''), $args); extract($defaults); if (!$style) { $defaults['style'] = $style_type; } self::$args = $defaults; if (!$bordercolor) { $bordercolor = $smof_data['imgframe_border_color'] . $evl_options['evl_shortcode_image_frame_border_color']; } if (!$stylecolor) { $stylecolor = $smof_data['imgframe_style_color'] . $evl_options['evl_shortcode_image_frame_style_color']; } $rgb = T4PCore_Plugin::hex2rgb($stylecolor); $styles = ''; if ($bordersize != '0') { $styles .= ".imageframe-{$this->imageframe_counter} img{border:{$bordersize} solid {$bordercolor};}"; } if ($style == 'glow') { $styles .= ".imageframe-{$this->imageframe_counter}.imageframe-glow img{\r\n\t\t\t\t-moz-box-shadow: 0 0 3px rgba({$rgb[0]},{$rgb[1]},{$rgb[2]},.3);\r\n\t\t\t\t-webkit-box-shadow: 0 0 3px rgba({$rgb[0]},{$rgb[1]},{$rgb[2]},.3);\r\n\t\t\t\tbox-shadow: 0 0 3px rgba({$rgb[0]},{$rgb[1]},{$rgb[2]},.3);\r\n\t\t\t}"; } if ($style == 'dropshadow') { $styles .= ".imageframe-{$this->imageframe_counter}.imageframe-dropshadow img{\r\n\t\t\t\t-moz-box-shadow: 2px 3px 7px rgba({$rgb[0]},{$rgb[1]},{$rgb[2]},.3);\r\n\t\t\t\t-webkit-box-shadow: 2px 3px 7px rgba({$rgb[0]},{$rgb[1]},{$rgb[2]},.3);\r\n\t\t\t\tbox-shadow: 2px 3px 7px rgba({$rgb[0]},{$rgb[1]},{$rgb[2]},.3);\r\n\t\t\t}"; } $styles = sprintf('<style type="text/css">%s</style>', $styles); $html = sprintf('%s<span %s>', $styles, T4PCore_Plugin::attributes('imageframe-shortcode')); preg_match('/(class=["\'](.*?)["\'])/', $content, $classes); $class_style = ''; if ($style == 'circle') { $class_style = ' img-circle'; } if ($classes) { $content = str_replace($classes[0], sprintf('class="img-responsive %s%s"', $classes[2], $class_style), $content); } else { $content = str_replace('/>', sprintf('class="img-responsive%s" />', $class_style), $content); } $alt_tag = ''; if (isset($image_id) && $image_id) { $alt_tag = sprintf('alt="%s"', get_post_meta($image_id, '_wp_attachment_image_alt', true)); } if (strpos($content, 'alt=""') !== false && $alt_tag) { $content = str_replace('alt=""', $alt_tag, $content); } elseif (strpos($content, 'alt') === false && $alt_tag) { $content = str_replace('/> ', $alt_tag . ' />', $content); } $output = do_shortcode($content); if ($lightbox == 'yes') { preg_match('/(src=["\'](.*?)["\'])/', $content, $src); self::$args['link'] = $src[2]; $image_id = T4PCore_Plugin::get_attachment_id_from_url(self::$args['link']); self::$args['title_attr'] = ''; if ($image_id) { self::$args['title_attr'] = get_post_field('post_excerpt', $image_id); } $output = sprintf('<a %s>%s</a>', T4PCore_Plugin::attributes('imageframe-shortcode-link'), do_shortcode($content)); } $html .= $output . '</span>'; if ($align == 'center') { $html = sprintf('<div %s>%s</div>', T4PCore_Plugin::attributes('imageframe-align-center'), $html); } $this->imageframe_counter++; return $html; }
/** * Render the shortcode * @param array $args Shortcode paramters * @param string $content Content between shortcode * @return string HTML output */ function render($args, $content = '') { global $smof_data; $defaults = T4PCore_Plugin::set_shortcode_defaults(array('class' => '', 'id' => '', 'animation' => 'no', 'address' => '', 'height' => '300px', 'icon' => '', 'infobox' => '', 'infobox_background_color' => '', 'infobox_content' => '', 'infobox_text_color' => '', 'map_style' => '', 'overlay_color' => '', 'popup' => 'yes', 'scale' => 'yes', 'scrollwheel' => 'yes', 'type' => 'roadmap', 'width' => '100%', 'zoom' => '14', 'zoom_pancontrol' => 'yes'), $args); extract($defaults); self::$args = $defaults; $html = ''; if ($address) { $addresses = explode('|', $address); if ($infobox_content) { $infobox_content_array = explode('|', $infobox_content); } else { $infobox_content_array = ''; } if ($icon) { $icon_array = explode('|', $icon); } else { $icon_array = ''; } if ($addresses) { self::$args['address'] = $addresses; } $num_of_addresses = count($addresses); if (is_array($infobox_content_array) && !empty($infobox_content_array)) { for ($i = 0; $i < $num_of_addresses; $i++) { if (!$infobox_content_array[$i]) { $infobox_content_array[$i] = $addresses[$i]; } } self::$args['infobox_content'] = $infobox_content_array; } else { self::$args['infobox_content'] = self::$args['address']; } if ($icon && strpos($icon, '|') === false) { for ($i = 0; $i < $num_of_addresses; $i++) { $icon_array[$i] = $icon; } } if ($map_style == 'theme') { $map_style = 'custom'; $icon = 'theme'; $animation = 'yes'; $infobox = 'custom'; $infobox_background_color = T4PCore_Plugin::hex2rgb($smof_data['primary_color']); $infobox_background_color = 'rgba(' . $infobox_background_color[0] . ', ' . $infobox_background_color[1] . ', ' . $infobox_background_color[2] . ', 0.8)'; $overlay_color = $smof_data['primary_color']; $brightness_level = T4PCore_Plugin::calc_color_brightness($smof_data['primary_color']); if ($brightness_level > 140) { $infobox_text_color = '#fff'; } else { $infobox_text_color = '#747474'; } } if ($icon == 'theme' && $map_style == 'custom') { for ($i = 0; $i < $num_of_addresses; $i++) { $icon_array[$i] = plugins_url('images/t4p_map_marker.png', dirname(__FILE__)); } } wp_print_scripts('google-maps-api'); wp_print_scripts('google-maps-infobox'); foreach (self::$args['address'] as $add) { $coordinates[] = $this->get_coordinates($add); } if (!is_array($coordinates)) { return; } $map_id = uniqid('t4p_map_'); // generate a unique ID for this map $this->map_id = $map_id; ob_start(); ?> <script type="text/javascript"> var map_<?php echo $map_id; ?> ; var markers = []; var counter = 0; function t4p_run_map_<?php echo $map_id; ?> () { var location = new google.maps.LatLng(<?php echo $coordinates[0]['lat']; ?> , <?php echo $coordinates[0]['lng']; ?> ); var map_options = { zoom: <?php echo $zoom; ?> , center: location, mapTypeId: google.maps.MapTypeId.<?php echo strtoupper($type); ?> , scrollwheel: <?php echo $scrollwheel == 'yes' ? 'true' : 'false'; ?> , scaleControl: <?php echo $scale == 'yes' ? 'true' : 'false'; ?> , panControl: <?php echo $zoom_pancontrol == 'yes' ? 'true' : 'false'; ?> , zoomControl: <?php echo $zoom_pancontrol == 'yes' ? 'true' : 'false'; ?> }; map_<?php echo $map_id; ?> = new google.maps.Map(document.getElementById("<?php echo esc_attr($map_id); ?> "), map_options); <?php $i = 0; ?> <?php foreach ($coordinates as $key => $coordinate) { ?> var content_string = "<div class='info-window'><?php echo self::$args['infobox_content'][$key]; ?> </div>"; <?php if ($overlay_color && $map_style == 'custom') { ?> var styles = [ { stylers: [ { hue: '<?php echo $overlay_color; ?> ' }, { saturation: -20 } ] },{ featureType: "road", elementType: "geometry", stylers: [ { lightness: 100 }, { visibility: "simplified" } ] },{ featureType: "road", elementType: "labels", } ]; map_<?php echo $map_id; ?> .setOptions({styles: styles}); <?php } ?> map_<?php echo $map_id; ?> _args = { position: new google.maps.LatLng("<?php echo $coordinate['lat']; ?> ", "<?php echo $coordinate['lng']; ?> "), map: map_<?php echo $map_id; ?> }; <?php if ($animation == 'yes' && $map_style == 'custom') { ?> map_<?php echo $map_id; ?> _args.animation = google.maps.Animation.DROP; <?php } ?> <?php if ($icon == 'theme' && isset($icon_array[$i]) && $icon_array[$i] && $map_style == 'custom') { ?> map_<?php echo $map_id; ?> _args.icon = new google.maps.MarkerImage( '<?php echo $icon_array[$i]; ?> ', null, null, null, new google.maps.Size( 37, 55 ) ); <?php } else { if (isset($icon_array[$i]) && $icon_array[$i] && $map_style == 'custom') { ?> map_<?php echo $map_id; ?> _args.icon = '<?php echo $icon_array[$i]; ?> '; <?php } } ?> <?php $i++; ?> markers[counter] = new google.maps.Marker(map_<?php echo $map_id; ?> _args); <?php if ($infobox == 'custom' && $map_style == 'custom') { ?> var info_box_div = document.createElement('div'); info_box_div.className = 't4p-info-box'; info_box_div.style.cssText = 'background-color:<?php echo $infobox_background_color; ?> ;color:<?php echo $infobox_text_color; ?> ;'; info_box_div.innerHTML = content_string; var info_box_options = { content: info_box_div ,disableAutoPan: false ,maxWidth: 150 ,pixelOffset: new google.maps.Size(-125, 10) ,zIndex: null ,boxStyle: { background: 'none' ,opacity: 1 ,width: "250px" } ,closeBoxMargin: "2px 2px 2px 2px" ,closeBoxURL: "http://www.google.com/intl/en_us/mapfiles/close.gif" ,infoBoxClearance: new google.maps.Size(1, 1) }; markers[counter]['infowindow'] = new InfoBox(info_box_options); markers[counter]['infowindow'].open(map_<?php echo $map_id; ?> , markers[counter]); <?php if ($popup != 'yes') { ?> markers[counter]['infowindow'].setVisible( false ); <?php } ?> google.maps.event.addListener(markers[counter], 'click', function() { if( this['infowindow'].getVisible() ) { this['infowindow'].setVisible( false ); } else { this['infowindow'].setVisible( true ); } }); <?php } else { ?> markers[counter]['infowindow'] = new google.maps.InfoWindow({ content: content_string }); <?php if ($popup == 'yes') { ?> markers[counter]['infowindow'].show = true; markers[counter]['infowindow'].open(map_<?php echo $map_id; ?> , markers[counter]); <?php } ?> google.maps.event.addListener(markers[counter], 'click', function() { if(this['infowindow'].show) { this['infowindow'].close(map_<?php echo $map_id; ?> , this); this['infowindow'].show = false; } else { this['infowindow'].open(map_<?php echo $map_id; ?> , this); this['infowindow'].show = true; } }); <?php } ?> counter++; <?php } ?> } google.maps.event.addDomListener(window, 'load', t4p_run_map_<?php echo $map_id; ?> ); </script> <?php if ($defaults['id']) { $html = ob_get_clean() . sprintf('<div id="%s"><div %s></div></div>', $defaults['id'], T4PCore_Plugin::attributes('google-map-shortcode')); } else { $html = ob_get_clean() . sprintf('<div %s></div>', T4PCore_Plugin::attributes('google-map-shortcode')); } } return $html; }
/** * Render the shortcode * @param array $args Shortcode paramters * @param string $content Content between shortcode * @return string HTML output */ function render($args, $content = '') { global $smof_data; global $evl_options; $defaults = T4PCore_Plugin::set_shortcode_defaults(array('class' => '', 'id' => '', 'lightbox' => 'no', 'linktarget' => '_self', 'name' => '', 'social_icon_boxed' => strtolower($evl_options['evl_shortcode_social_icon_boxed']) . strtolower($smof_data['social_links_boxed']), 'social_icon_boxed_colors' => strtolower($evl_options['evl_shortcode_social_icon_box_color']) . strtolower($smof_data['social_links_box_color']), 'social_icon_boxed_radius' => strtolower($evl_options['evl_shortcode_social_icon_box_radius']) . strtolower($smof_data['social_links_boxed_radius']), 'social_icon_colors' => strtolower($evl_options['evl_shortcode_social_icon_boxed']) . strtolower($smof_data['social_links_icon_color']), 'social_icon_order' => '', 'social_icon_tooltip' => strtolower($evl_options['evl_shortcode_social_icon_tooltip_position']) . strtolower($smof_data['social_links_tooltip_placement']), 'pic_bordercolor' => strtolower($evl_options['evl_shortcode_person_border_color']) . strtolower($smof_data['person_border_color']), 'pic_bordersize' => strtolower($evl_options['evl_shortcode_person_border_size']) . strtolower($smof_data['person_border_size']), 'pic_link' => '', 'pic_style' => 'none', 'pic_style_color' => strtolower($evl_options['evl_shortcode_person_style_color']) . strtolower($smof_data['person_style_color']), 'picture' => '', 'title' => '', 'facebook' => '', 'twitter' => '', 'linkedin' => '', 'dribbble' => '', 'rss' => '', 'youtube' => '', 'pinterest' => '', 'flickr' => '', 'vimeo' => '', 'tumblr' => '', 'google' => '', 'googleplus' => '', 'digg' => '', 'blogger' => '', 'skype' => '', 'myspace' => '', 'deviantart' => '', 'yahoo' => '', 'reddit' => '', 'forrst' => '', 'paypal' => '', 'dropbox' => '', 'soundcloud' => '', 'vk' => '', 'email' => ''), $args); extract($defaults); self::$args = $defaults; if ($smof_data['social_icons_new']) { self::$args['linktarget'] == '_blank'; } else { self::$args['linktarget'] == '_self'; } self::$args['styles'] = ''; $rgb = T4PCore_Plugin::hex2rgb($defaults['pic_style_color']); if ($pic_style == 'glow') { self::$args['styles'] .= "-moz-box-shadow: 0 0 3px rgba({$rgb[0]},{$rgb[1]},{$rgb[2]},.3);\r\n\t\t\t\t-webkit-box-shadow: 0 0 3px rgba({$rgb[0]},{$rgb[1]},{$rgb[2]},.3);\r\n\t\t\t\tbox-shadow: 0 0 3px rgba({$rgb[0]},{$rgb[1]},{$rgb[2]},.3);"; } if ($pic_style == 'dropshadow') { self::$args['styles'] .= "\r\n\t\t\t\t-moz-box-shadow: 2px 3px 7px rgba({$rgb[0]},{$rgb[1]},{$rgb[2]},.3);\r\n\t\t\t\t-webkit-box-shadow: 2px 3px 7px rgba({$rgb[0]},{$rgb[1]},{$rgb[2]},.3);\r\n\t\t\t\tbox-shadow: 2px 3px 7px rgba({$rgb[0]},{$rgb[1]},{$rgb[2]},.3);"; } $inner_content = ''; if ($picture) { $picture = sprintf('<img %s />', T4PCore_Plugin::attributes('person-shortcode-img')); if ($pic_link) { $picture = sprintf('<a %s>%s</a>', T4PCore_Plugin::attributes('person-shortcode-href'), $picture); } $picture = sprintf('<div %s><div %s>%s</div></div>', T4PCore_Plugin::attributes('person-shortcode-image-wrapper'), T4PCore_Plugin::attributes('person-shortcode-image-container'), $picture); } $style_radius = ''; if (isset($args['social_icon_boxed_radius']) && $args['social_icon_boxed_radius']) { $style_radius .= sprintf('border-radius:%s;', $args['social_icon_boxed_radius']); } $print_css_radius = '<style type="text/css">.t4p-person .t4p-icon-holder, .t4p-person .t4p-social-networks.boxed-icons a:after {' . $style_radius . '}</style>'; echo $print_css_radius; if ($name || $title || $content) { $social_networks = $this->get_social_links_array(); if (!is_array($social_icon_order)) { $social_icon_order = explode('|', $social_icon_order); } //$social_networks = T4PCore_Plugin::order_array_like_array( $social_networks, $social_icon_order ); $social_icon_colors = explode('|', $social_icon_colors); $num_of_icon_colors = count($social_icon_colors); $social_icon_boxed_colors = explode('|', $social_icon_boxed_colors); $num_of_box_colors = count($social_icon_boxed_colors); $icons = ''; if (isset($smof_data['social_sorter']) && $smof_data['social_sorter']) { $order = $smof_data['social_sorter']; $ordered_array = explode(',', $order); if (isset($ordered_array) && $ordered_array && is_array($ordered_array)) { $social_networks_old = $social_networks; $social_networks = array(); foreach ($ordered_array as $key => $field_order) { $field_order_number = str_replace('social_sorter_', '', $field_order); $find_the_field = $smof_data['social_sorter_' . $field_order_number]; $field_name = str_replace('_link', '', $smof_data['social_sorter_' . $field_order_number]); if ($field_name == 'google') { $field_name = 'googleplus'; } elseif ($field_name == 'email') { $field_name = 'mail'; } if (!isset($social_networks_old[$field_name])) { continue; } $social_networks[$field_name] = $social_networks_old[$field_name]; } } } for ($i = 0; $i < count($social_networks); $i++) { if ($num_of_icon_colors == 1) { $social_icon_colors[$i] = $social_icon_colors[0]; } if ($num_of_box_colors == 1) { $social_icon_boxed_colors[$i] = $social_icon_boxed_colors[0]; } } $i = 0; foreach ($social_networks as $network => $link) { $icon_options = array('social_network' => $network, 'social_link' => $link, 'icon_color' => $i < count($social_icon_colors) ? $social_icon_colors[$i] : '', 'box_color' => $i < count($social_icon_boxed_colors) ? $social_icon_boxed_colors[$i] : ''); $icons .= sprintf('<span class="t4p-icon-holder"><a %s></a></span>', T4PCore_Plugin::attributes('person-shortcode-icon', $icon_options)); $i++; } $inner_content .= sprintf('<div %s><div %s><div %s><span %s>%s</span><span %s>%s</span></div><div %s>%s</div></div><div %s>%s</div></div>', T4PCore_Plugin::attributes('person-desc'), T4PCore_Plugin::attributes('person-shortcode-author'), T4PCore_Plugin::attributes('person-author-wrapper'), T4PCore_Plugin::attributes('person-name'), $name, T4PCore_Plugin::attributes('person-title'), $title, T4PCore_Plugin::attributes('person-content t4p-clearfix'), do_shortcode($content), T4PCore_Plugin::attributes('person-shortcode-social-networks'), $icons); } $html = sprintf('<div %s>%s%s</div>', T4PCore_Plugin::attributes('person-shortcode'), $picture, $inner_content); return $html; }