コード例 #1
0
 /**
  *    venue_gmap
  *
  * @access    public
  * @param int $VNU_ID
  * @param bool|string $map_ID a unique identifier for this map
  * @param    array $gmap map options
  * @return string
  */
 public static function venue_gmap($VNU_ID = 0, $map_ID = FALSE, $gmap = array())
 {
     $venue = EEH_Venue_View::get_venue($VNU_ID);
     if ($venue instanceof EE_Venue) {
         // check for global espresso_events post and use it's ID if no map_ID is set
         global $post;
         $map_ID = empty($map_ID) && $post->post_type == 'espresso_events' ? $post->ID : $map_ID;
         // grab map settings
         $map_cfg = EE_Registry::instance()->CFG->map_settings;
         // are maps enabled ?
         if ($map_cfg->use_google_maps && $venue->enable_for_gmap()) {
             EE_Registry::instance()->load_helper('Maps');
             EE_Registry::instance()->load_helper('Formatter');
             $details_page = is_single();
             $options = array();
             $options['map_ID'] = $map_ID && $map_ID != $venue->ID() ? $map_ID . '-' . $venue->ID() : $venue->ID();
             $options['location'] = EEH_Address::format($venue, 'inline', FALSE, FALSE);
             $options['ee_map_width'] = $details_page ? $map_cfg->event_details_map_width : $map_cfg->event_list_map_width;
             $options['ee_map_width'] = isset($gmap['ee_map_width']) && !empty($gmap['ee_map_width']) ? $gmap['ee_map_width'] : $options['ee_map_width'];
             $options['ee_map_height'] = $details_page ? $map_cfg->event_details_map_height : $map_cfg->event_list_map_height;
             $options['ee_map_height'] = isset($gmap['ee_map_height']) && !empty($gmap['ee_map_height']) ? $gmap['ee_map_height'] : $options['ee_map_height'];
             $options['ee_map_zoom'] = $details_page ? $map_cfg->event_details_map_zoom : $map_cfg->event_list_map_zoom;
             $options['ee_map_zoom'] = isset($gmap['ee_map_zoom']) && !empty($gmap['ee_map_zoom']) ? $gmap['ee_map_zoom'] : $options['ee_map_zoom'];
             $options['ee_map_nav_display'] = $details_page ? $map_cfg->event_details_display_nav : $map_cfg->event_list_display_nav;
             $options['ee_map_nav_display'] = isset($gmap['ee_map_nav_display']) && !empty($gmap['ee_map_nav_display']) ? 'true' : $options['ee_map_nav_display'];
             $options['ee_map_nav_size'] = $details_page ? $map_cfg->event_details_nav_size : $map_cfg->event_list_nav_size;
             $options['ee_map_nav_size'] = isset($gmap['ee_map_nav_size']) && !empty($gmap['ee_map_nav_size']) ? $gmap['ee_map_nav_size'] : $options['ee_map_nav_size'];
             $options['ee_map_type_control'] = $details_page ? $map_cfg->event_details_control_type : $map_cfg->event_list_control_type;
             $options['ee_map_type_control'] = isset($gmap['ee_map_type_control']) && !empty($gmap['ee_map_type_control']) ? $gmap['ee_map_type_control'] : $options['ee_map_type_control'];
             $options['ee_map_align'] = $details_page ? $map_cfg->event_details_map_align : $map_cfg->event_list_map_align;
             $options['ee_map_align'] = isset($gmap['ee_map_align']) && !empty($gmap['ee_map_align']) ? $gmap['ee_map_align'] : $options['ee_map_align'];
             $options['ee_static_url'] = isset($gmap['ee_static_url']) && !empty($gmap['ee_static_url']) ? (bool) absint($gmap['ee_static_url']) : $venue->google_map_link();
             return EEH_Maps::google_map($options);
         }
     }
     return '';
 }