Tribe__Events__Importer__File_Importer_Venues
Source
File: src/Tribe/Importer/File_Importer_Venues.php
class Tribe__Events__Importer__File_Importer_Venues extends Tribe__Events__Importer__File_Importer { protected $required_fields = array( 'venue_name' ); protected function match_existing_post( array $record ) { $name = $this->get_value_by_key( $record, 'venue_name' ); $id = $this->find_matching_post_id( $name, Tribe__Events__Main::VENUE_POST_TYPE ); return $id; } protected function update_post( $post_id, array $record ) { $venue = $this->build_venue_array( $post_id, $record ); Tribe__Events__API::updateVenue( $post_id, $venue ); if ( $this->is_aggregator && ! empty( $this->aggregator_record ) ) { $this->aggregator_record->meta['activity']->add( 'venue', 'updated', $post_id ); } } protected function create_post( array $record ) { $post_status_setting = tribe( 'events-aggregator.settings' )->default_post_status( 'csv' ); $venue = $this->build_venue_array( false, $record ); $id = Tribe__Events__API::createVenue( $venue, $post_status_setting ); if ( $this->is_aggregator && ! empty( $this->aggregator_record ) ) { $this->aggregator_record->meta['activity']->add( 'venue', 'created', $id ); } return $id; } private function build_venue_array( $venue_id, array $record ) { $show_map_setting = tribe( 'events-aggregator.settings' )->default_map( 'csv' ); $venue_address = trim( $this->get_value_by_key( $record, 'venue_address' ) . ' ' . $this->get_value_by_key( $record, 'venue_address2' ) ); $venue = array( 'Venue' => $this->get_value_by_key( $record, 'venue_name' ), 'Description' => $this->get_value_by_key( $record, 'venue_description' ), 'Address' => $venue_address, 'City' => $this->get_value_by_key( $record, 'venue_city' ), 'Country' => $this->get_value_by_key( $record, 'venue_country' ), 'Province' => $this->get_value_by_key( $record, 'venue_state' ), 'State' => $this->get_value_by_key( $record, 'venue_state' ), 'Zip' => $this->get_value_by_key( $record, 'venue_zip' ), 'Phone' => $this->get_value_by_key( $record, 'venue_phone' ), 'URL' => $this->get_value_by_key( $record, 'venue_url' ), 'ShowMap' => $venue_id ? get_post_meta( $venue_id, '_VenueShowMap', true ) : $show_map_setting, 'ShowMapLink' => $venue_id ? get_post_meta( $venue_id, '_VenueShowMapLink', true ) : $show_map_setting, 'FeaturedImage' => $this->get_featured_image( $venue_id, $record ), ); if ( empty( $venue['Country'] ) ) { $venue['Country'] = 'United States'; } $venue = apply_filters( 'tribe_events_importer_venue_array', $venue, $record, $venue_id, $this ); return $venue; } }
Methods
- set_defaults — Set default venue values.