Tribe__Events__Tickets__Eventbrite__Aggregator::save_event_meta( array|WP_Post $event, array $item, Tribe__Events__Aggregator__Record__Abstract $record )

Saves the Event Meta for Eventbrite


Parameters

$event

(array|WP_Post) (Required) Which Event data was sent.

$item

(array) (Required) Raw version of the data sent from EA.

$record

(Tribe__Events__Aggregator__Record__Abstract) (Required) The record we are dealing with.


Top ↑

Return

(array|bool)


Top ↑

Source

File: src/Tribe/Aggregator.php

	public function save_event_meta( $event, $item, $record ) {
		if ( ! $event instanceof WP_Post && empty( $event['eventbrite'] ) ) {
			return false;
		}

		if ( ! $event instanceof WP_Post ) {
			$event_id = $event['ID'];
			$eventbrite = $event['eventbrite'];

			//setup object fields to use existing naming
			$eventbrite->id             = empty( $event['EventBriteID'] ) ? null : tribe( 'eventbrite.sync.utilities' )->sanitize_absint( $event['EventBriteID'] );
			$eventbrite->url            = empty( $event['EventURL'] ) ? null : esc_url( $event['EventURL'] );
			$eventbrite->ticket_classes = empty( $eventbrite->tickets ) ? null : $eventbrite->tickets;
			unset( $eventbrite->tickets );
		} else {
			$event_id                   = $event->ID;
			$eventbrite                 = $item->eventbrite;
			$eventbrite->url            = empty( $item->url ) ? null : esc_url( $item->url );
			$eventbrite->id             = $item->eventbrite_id;
			$eventbrite->ticket_classes = empty( $item->eventbrite->tickets ) ? null : $item->eventbrite->tickets;

			unset( $eventbrite->tickets );
		}

		$eventbrite->is_owner = empty( $item->is_owner ) ? null : $item->is_owner;

		// Update Eventbrite privacy setting
		tribe( 'eventbrite.sync.event' )->set_event_privacy_meta( $event_id, $eventbrite );

		// set local status
		$current_status = ( ! empty( $eventbrite->status ) ? esc_attr( $eventbrite->status ) : 'draft' );
		update_post_meta( $event_id, '_EventBriteStatus', $current_status );

		// local Eventbrite setting to show tickets
		$show_tickets = get_post_meta( $event_id, '_EventShowTickets', true );
		$show_tickets = ( ! empty( $show_tickets ) ? esc_attr( $show_tickets ) : 'yes' );
		update_post_meta( $event_id, '_EventShowTickets', $show_tickets );

		// local Eventbrite setting to connect event to eventbrite
		update_post_meta( $event_id, '_EventRegister', 'yes' );

		// save object
		$saved['tickets'] = update_post_meta( $event_id, tribe( 'eventbrite.event' )->key_tickets, $eventbrite );

		return $saved;
	}

Top ↑

Changelog

Changelog
Version Description
4.5 Introduced.