Event_Meta::add_event_properties( WP_Post $event )

Adds Webex related properties to an event post object.


Parameters

$event

(WP_Post) (Required) The event post object, as decorated by the tribe_get_event function.


Top ↑

Return

(WP_Post) The decorated event post object, with Webex related properties added to it.


Top ↑

Source

File: src/Tribe/Meetings/Webex/Event_Meta.php

	public static function add_event_properties( \WP_Post $event ) {

		// Get the current actions
		$current_action = tribe_get_request_var( 'action' );
		$create_actions = [
			'ev_webex_meetings_create',
		];

		// Return when Webex is not the source and not running the create actions for meetings and webinars.
		if ( static::$key_source_id !== $event->virtual_video_source && ! in_array( $current_action, $create_actions ) ) {
			return $event;
		}

		$prefix = Virtual_Event_Meta::$prefix;

		$is_new_event = empty( $event->ID );

		$event->webex_meeting_type              = $is_new_event ? '' : get_post_meta( $event->ID, $prefix . 'webex_meeting_type', true );
		$event->webex_meeting_id                = $is_new_event ? '' : get_post_meta( $event->ID, $prefix . 'webex_meeting_id', true );
		$event->webex_join_url                  = $is_new_event ? '' : get_post_meta( $event->ID, $prefix . 'webex_join_url', true );
		$event->virtual_meeting_display_details = $is_new_event ? '' : get_post_meta( $event->ID, $prefix . 'webex_display_details', true );
		$event->webex_host_email                = $is_new_event ? '' : get_post_meta( $event->ID, $prefix . 'webex_host_email', true );
		$event->webex_password                  = self::get_password( $event );

		if ( ! empty( $event->webex_join_url ) ) {
			// An event that has a Webex Meeting assigned should be considered virtual.
			$event->virtual                  = true;
			$event->virtual_meeting          = true;
			$event->virtual_meeting_url      = $event->webex_join_url;
			$event->virtual_meeting_provider = static::$key_source_id;

			// Override the virtual url if no Webex details and linked button is checked.
			if (
				empty( $event->virtual_meeting_display_details )
				&& ! empty( $event->virtual_linked_button )
			) {
				$event->virtual_url = $event->virtual_meeting_url;
			} else {
				// Set virtual url to null if Webex Meeting is connected to the event.
				$event->virtual_url = null;
			}
		}

		return $event;
	}

Top ↑

Changelog

Changelog
Version Description
1.9.0 Introduced.