/** * Add some google maps, dirty example * [gmap lng="" lat="" id="map" width="300px" height="250px" info=""] * * @param $attr * @return string */ function gmap_in_text($attr) { $result = ''; // nolasām attribūtus $default_attr = array("id" => "map", "width" => "100%", "height" => "250px", "lat" => 0, "lng" => 0, "info" => ""); $available_attr = \Shortcodes\Shortcodes::shortcode_atts($default_attr, $attr); $result .= '<script src="//maps.google.com/maps/api/js?sensor=true"></script>' . PHP_EOL; $result .= '<script src="//cdnjs.cloudflare.com/ajax/libs/gmaps.js/0.4.19/gmaps.js"></script>' . PHP_EOL; $result .= '<style type="text/css"> #' . $available_attr['id'] . ' { width: ' . $available_attr['width'] . '; height: ' . $available_attr['height'] . '; } </style>' . PHP_EOL; $result .= '<script> $(function() {' . PHP_EOL; $result .= ' var map = new GMaps({ div: \'#' . $available_attr['id'] . '\', lat: ' . $available_attr['lat'] . ', lng: ' . $available_attr['lng'] . ' }); map.addMarker({ lat: ' . $available_attr['lat'] . ', lng: ' . $available_attr['lng'] . ', infoWindow: { content: "' . $available_attr['info'] . '" } }); '; $result .= '});</script>' . PHP_EOL; $result .= '<div id="' . $available_attr['id'] . '" class="inline_gmap">' . PHP_EOL; $result .= '</div>' . PHP_EOL; return $result; }
<?php // ------------------------------------------------------ // TODO: real phpunit example // ------------------------------------------------------ require_once __DIR__ . '/../vendor/autoload.php'; use Shortcodes\Shortcodes; $shortcodes = new Shortcodes(); $shortcodes->add_shortcode('gmap', 'gmap_in_text'); $demo_text = 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Animi aspernatur at blanditiis culpa, cupiditate, error fugiat laborum magni officia officiis quia rem reprehenderit sunt totam voluptates. [gmap lng="24.1216591" lat="56.9507167" width="100%" height="321px"] Debitis deleniti distinctio dolorum.'; $output = $shortcodes->parse_shortcodes($demo_text); echo $output; /* Lorem ipsum dolor sit amet, consectetur adipisicing elit. Animi aspernatur at blanditiis culpa, cupiditate, error fugiat laborum magni officia officiis quia rem reprehenderit sunt totam voluptates. <script src="//maps.google.com/maps/api/js?sensor=true"></script> <script src="//cdnjs.cloudflare.com/ajax/libs/gmaps.js/0.4.19/gmaps.js"></script> <style type="text/css"> #map { width: 100%; height: 321px; } </style> <script> $(function() { var map = new GMaps({ div: '#map', lat: 56.9507167, lng: 24.1216591 }); map.addMarker({ lat: 56.9507167, lng: 24.1216591, infoWindow: { content: ""