/** * Get map object. * @param string $venue Venue * @param array $args Optional map overrides * @return object Map object */ private function _get_venue_map($venue, $args = array()) { $venue = $venue ? $venue : $this->get_venue(); if (!class_exists('AgmMapModel')) { return $venue; } $map_id = $this->_get_venue_map_id($venue); if (!$map_id) { return $venue; } $model = new AgmMapModel(); return $model->get_map($map_id); }
function agm_google_maps_post_meta_address($location) { global $post; if (!$location && $post->post_type == 'incsub_event') { $meta = get_post_custom($post->ID); $venue = ''; if (isset($meta["incsub_event_venue"]) && isset($meta["incsub_event_venue"][0])) { $venue = stripslashes($meta["incsub_event_venue"][0]); if (preg_match_all('/map id="([0-9]+)"/', $venue, $matches) > 0) { if (isset($matches[1]) && isset($matches[1][0])) { $model = new AgmMapModel(); $map = $model->get_map($matches[1][0]); $venue = $map['markers'][0]['title']; if ($meta["agm_map_created"][0] != $map['id']) { update_post_meta($post->ID, 'agm_map_created', $map['id']); return false; } } } } return $venue; } return $location; }
private function _get_group_map($group_id, $data_overrides = array()) { $data_overrides = wp_parse_args($data_overrides, array('show_members' => true)); $data = groups_get_groupmeta($group_id, "agm-group_map"); $model = new AgmMapModel(); $map_id = get_option("_agm-group_map-for-{$group_id}", false); $address = !empty($data["address"]) ? $data["address"] : apply_filters('agm-group_map-default_group_address', false, $group_id, $data); $map = false; if ($map_id) { $map = $model->get_map($map_id); } else { if (!$map_id && $address) { $map_id = $model->autocreate_map(false, false, false, $address); if (!$map_id) { return false; } update_option("_agm-group_map-for-{$group_id}", $map_id); $map = $model->get_map($map_id); } else { $map = $model->get_map_defaults(); $map['defaults'] = $model->get_map_defaults(); $map['id'] = $group_id . md5(time() . rand()); $map['show_map'] = 1; $map['show_markers'] = 0; $map['markers'] = array(); } } if (!empty($data_overrides['group_marker']) && 'avatar' == $data_overrides['group_marker'] && function_exists('bp_core_fetch_avatar')) { if (1 != count($map['markers'])) { continue; } if (empty($map['markers'][0])) { continue; } $avatar = bp_core_fetch_avatar(array('object' => 'group', 'item_id' => $group_id, 'width' => 32, 'height' => 32, 'html' => false)); if (!empty($avatar)) { $map['markers'][0]['icon'] = $avatar; } } if (!empty($data['member_locations']) && !empty($data_overrides['show_members']) && class_exists('Agm_Bp_Pm_UserPages')) { $profile = new Agm_Bp_Pm_UserPages(); $markers = $map['markers']; $members = groups_get_group_members($group_id); if ($members && !empty($members['members'])) { foreach ($members['members'] as $member) { $marker = $profile->member_to_marker($member->ID); if ($marker) { $markers[] = $marker; } } } $map['markers'] = $markers; } if (empty($map['markers'])) { return false; } return $map; }
private function _get_map_sig($map_id) { $model = new AgmMapModel(); $map = $model->get_map($map_id); return md5(serialize($map) . AUTH_SALT . NONCE_KEY); }