/**
  * Google Calendar Link
  *
  * Returns an "add to Google Calendar link for a single event. Must be used in the loop
  *
  * @param int $postId (optional)
  *
  * @return string URL for google calendar.
  * @since 2.0
  */
 function tribe_get_gcal_link($postId = null)
 {
     $postId = TribeEvents::postIdHelper($postId);
     $tribe_ecp = TribeEvents::instance();
     $output = esc_url($tribe_ecp->googleCalendarLink($postId));
     return apply_filters('tribe_get_gcal_link', $output);
 }
Beispiel #2
0
 /**
  * Venue ID
  *
  * Returns the event Venue ID.
  *
  * @param int $postId can supply either event id or venue id, if none specified, current post is used
  *
  * @return int Venue ID
  */
 function tribe_get_venue_id($postId = null)
 {
     $postId = TribeEvents::postIdHelper($postId);
     if (tribe_is_venue($postId)) {
         return $postId;
     } else {
         return apply_filters('tribe_get_venue_id', tribe_get_event_meta($postId, '_EventVenueID', true));
     }
 }
Beispiel #3
0
 /**
  * Output the upcoming events associated with a venue
  *
  * @return void
  * @since 3.0
  */
 function tribe_venue_upcoming_events($post_id = false)
 {
     $post_id = TribeEvents::postIdHelper($post_id);
     if ($post_id) {
         // turn off the venue group
         tribe_set_the_meta_visibility('tribe_event_venue', false, 'meta_group');
         $args = array('venue' => $post_id, 'eventDisplay' => 'upcoming');
         $html = tribe_include_view_list($args);
         // housekeeping: turn on the venue meta group before we leave
         tribe_set_the_meta_visibility('tribe_event_venue', true, 'meta_group');
         return apply_filters('tribe_venue_upcoming_events', $html);
     }
 }
Beispiel #4
0
 /**
  * End Date
  *
  * Returns the event end date
  *
  * @param int $postId (optional) this only works for non recurring events
  * @param bool $displayTime If true shows date and time, if false only shows date
  * @param string $dateFormat Allows date and time formating using standard php syntax (http://php.net/manual/en/function.date.php)
  * @return string Date
  * @todo support $postId for recurring events.
  * @since 2.0
  */
 function tribe_get_end_date($postId = null, $displayTime = 'true', $dateFormat = '')
 {
     $postId = TribeEvents::postIdHelper($postId);
     if (!$postId || function_exists('tribe_is_recurring_event') && tribe_is_recurring_event($postId)) {
         global $post;
     } else {
         $post = get_post($postId);
     }
     if (tribe_get_all_day($postId)) {
         $displayTime = false;
     }
     if (empty($post->EventEndDate)) {
         $post->EventEndDate = tribe_get_event_meta($postId, '_EventEndDate', true);
     }
     if (isset($post->EventEndDate)) {
         $date = strtotime($post->EventEndDate);
     } else {
         return;
         // '—';
     }
     return tribe_event_format_date($date, $displayTime, $dateFormat);
 }
 /**
  * get_custom_field_by_label
  *
  * retrieve a custom field's value by searching its label
  * instead of its (more obscure) ID
  * @author Joachim Kudish
  * @since 2.0.3
  * @param (string) $label, the label to search for
  * @param (int) $eventID (optional), the event to look for, defaults to global $post
  * @return (string) value of the field
  */
 public static function get_custom_field_by_label($label, $eventID = null)
 {
     $eventID = TribeEvents::postIdHelper($eventID);
     $customFields = tribe_get_option('custom-fields', false);
     if (is_array($customFields)) {
         foreach ($customFields as $field) {
             if ($field['label'] == $label) {
                 return get_post_meta($eventID, $field['name'], true);
             }
         }
     }
 }
Beispiel #6
0
 /**
  * Receives a float and formats it with a currency symbol
  *
  * @param $cost pricing to format
  */
 function tribe_format_currency($cost, $postId = null, $currency_symbol = null, $reverse_position = null)
 {
     $postId = TribeEvents::postIdHelper($postId);
     // if no currency symbol was passed, and we're looking at a particular event,
     // let's check if there was a currency symbol set on that event
     if ($postId && $currency_symbol == null) {
         $currency_symbol = tribe_get_event_meta($postId, '_EventCurrencySymbol', true);
     }
     // if no currency symbol was passed, or we're not looking at a particular event,
     // let's get the default currency symbol
     if (!$postId || !$currency_symbol) {
         $currency_symbol = tribe_get_option('defaultCurrencySymbol', '$');
     }
     if ($postId && $reverse_position == null) {
         $reverse_position = tribe_get_event_meta($postId, '_EventCurrencyPosition', true);
         $reverse_position = 'suffix' === $reverse_position;
     }
     if (!$reverse_position || !$postId) {
         $reverse_position = tribe_get_option('reverseCurrencyPosition', false);
     }
     $cost = $reverse_position ? $cost . $currency_symbol : $currency_symbol . $cost;
     return $cost;
 }
Beispiel #7
0
 /**
  * Get an event's cost
  *
  *
  * @param null|int $postId (optional)
  * @param bool $withCurrencySymbol Include the currency symbol
  * @return string Cost of the event.
  */
 function tribe_get_cost($postId = null, $withCurrencySymbol = false)
 {
     $tribe_ecp = TribeEvents::instance();
     $postId = TribeEvents::postIdHelper($postId);
     $cost = tribe_get_event_meta($postId, '_EventCost', true);
     if ($cost === '') {
         $cost = '';
     } elseif ($cost === '0') {
         $cost = __("Free", 'tribe-events-calendar');
     } else {
         $cost = esc_html($cost);
     }
     if ($withCurrencySymbol && is_numeric($cost)) {
         $currency = tribe_get_event_meta($postId, '_EventCurrencySymbol', true);
         if (!$currency) {
             $currency = tribe_get_option('defaultCurrencySymbol', '$');
         }
         $cost = $currency . $cost;
     }
     return apply_filters('tribe_get_cost', $cost, $postId, $withCurrencySymbol);
 }
Beispiel #8
0
 /**
  * @deprecated
  */
 function sp_post_id_helper($postId)
 {
     _deprecated_function(__FUNCTION__, '2.0');
     return TribeEvents::postIdHelper($postId);
 }
 /**
  * Event Cost
  *
  * If EventBrite plugin is active
  * - If the event is registered in eventbrite, and has one ticket. Return the cost of that ticket.
  * - If the event is registered in eventbrite, and there are many tickets, return "Varies"
  *   - If the event is not registered in eventbrite, and there is meta, return that.
  *   - If the event is not registered in eventbrite, and there is no meta, return ""
  *
  * @param int $postId (optional)
  * @return string Cost of the event.
  */
 function tribe_get_cost($postId = null)
 {
     $tribe_ecp = TribeEvents::instance();
     $postId = TribeEvents::postIdHelper($postId);
     if (class_exists('Eventbrite_for_TribeEvents')) {
         global $spEventBrite;
         $returned = $spEventBrite->tribe_get_cost($postId);
         if ($returned) {
             return apply_filters('tribe_get_cost', esc_html($returned));
         }
     }
     $cost = tribe_get_event_meta($postId, '_EventCost', true);
     if ($cost === '') {
         $cost = '';
     } elseif ($cost == '0') {
         $cost = __("Free", 'tribe-events-calendar');
     } else {
         $cost = esc_html($cost);
     }
     return apply_filters('tribe_get_cost', $cost);
 }
 protected function get_ids($post_id)
 {
     $post_id = $post_id = TribeEvents::postIdHelper($post_id);
     $this->event_id = tribe_is_event($post_id) ? $post_id : 0;
     $this->venue_id = tribe_is_venue($post_id) ? $post_id : tribe_get_venue_id($post_id);
 }
Beispiel #11
0
 function tribe_get_organizer_website_url($postId = null)
 {
     $postId = TribeEvents::postIdHelper($postId);
     $output = esc_url(tribe_get_event_meta(tribe_get_organizer_id($postId), '_OrganizerWebsite', true));
     return apply_filters('tribe_get_organizer_website_url', $output);
 }
Beispiel #12
0
 /**
  * Template tag to get related posts for the current post.
  *
  * @since 1.1
  * @author Paul Hughes
  * @param int $count number of related posts to return.
  * @param int|obj $post the post to get related posts to, defaults to current global $post
  * @return array the related posts.
  */
 function tribe_get_related_posts($count = 3, $post = false)
 {
     $post_id = TribeEvents::postIdHelper($post);
     $tags = wp_get_post_tags($post_id, array('fields' => 'ids'));
     $categories = wp_get_object_terms($post_id, TribeEvents::TAXONOMY, array('fields' => 'ids'));
     if (!$tags && !$categories) {
         return;
     }
     $args = array('posts_per_page' => $count, 'post__not_in' => array($post_id), 'eventDisplay' => 'upcoming', 'tax_query' => array('relation' => 'OR'), 'orderby' => 'rand');
     if ($tags) {
         $args['tax_query'][] = array('taxonomy' => 'post_tag', 'field' => 'id', 'terms' => $tags);
     }
     if ($categories) {
         $args['tax_query'][] = array('taxonomy' => TribeEvents::TAXONOMY, 'field' => 'id', 'terms' => $categories);
     }
     $args = apply_filters('tribe_related_posts_args', $args);
     if ($args) {
         $posts = TribeEventsQuery::getEvents($args);
     } else {
         $posts = array();
     }
     return apply_filters('tribe_get_related_posts', $posts);
 }
Beispiel #13
0
 /**
  * Google Map Embed Test
  *
  * Check if embed google map is enabled for this event.
  *
  * @param int $postId Id of the post, if none specified, current post is used
  * @return bool True if google map option is set to embed the map
  * @since 2.0
  */
 function tribe_embed_google_map($postId = null)
 {
     if (!$postId) {
         return 0;
     }
     $postId = TribeEvents::postIdHelper($postId);
     return get_post_meta(get_the_ID(), '_EventShowMap', 1) == 1;
 }
/**
 * Test to see if this is the Venue edit screen
 *
 * @param int|null $venue_id (optional)
 * @return bool
 * @author Peter Chester
 * @since 3.1
 */
function tribe_community_events_is_venue_edit_screen($venue_id = null)
{
    $venue_id = TribeEvents::postIdHelper($venue_id);
    return tribe_is_venue($venue_id);
}
 /**
  * Google Map Link Test
  *
  * Check if google map link is enabled for this event
  *
  * @param int $postId Id of the post, if none specified, current post is used
  * @return bool True if google map link is set to display the event
  * @since 2.0
  */
 function tribe_show_google_map_link($postId = null)
 {
     $output = false;
     $postId = TribeEvents::postIdHelper($postId);
     $post_type = get_post_type($postId);
     if ($post_type == TribeEvents::POSTTYPE) {
         $output = get_post_meta($postId, '_EventShowMapLink', 1) == 1;
     } elseif ($post_type == TribeEvents::VENUE_POST_TYPE) {
         $output = get_post_meta($postId, '_VenueShowMapLink', 1) !== 'false' ? 1 : 0;
     }
     return apply_filters('tribe_show_google_map_link', $output);
 }
Beispiel #16
0
 /**
  * Organizer Phone
  *
  * Returns the event Organizer's phone number
  *
  * @param int $postId Can supply either event id or organizer id, if none specified, current post is used
  * @return string Organizer's Phone Number
  * @since 2.0
  */
 function tribe_get_organizer_phone($postId = null)
 {
     $postId = TribeEvents::postIdHelper($postId);
     $output = esc_html(tribe_get_event_meta(tribe_get_organizer_id($postId), '_OrganizerPhone', true));
     return apply_filters('tribe_get_organizer_phone', $output);
 }