Tribe__Events__Community__Main::doVenueForm( int $tribe_venue_id )

Main form for events.


Parameters

$tribe_venue_id

(int) (Required) The event's venue ID.


Top ↑

Return

(string) The form.


Top ↑

Source

File: src/Tribe/Main.php

		public function doVenueForm( $tribe_venue_id ) {
			$tribe_venue_id = intval( $tribe_venue_id );

			$output = '';

			add_filter( 'tribe-post-origin', array( $this, 'filterPostOrigin' ) );

			if ( empty( $tribe_venue_id ) ) {
				$output .= '<p>' . __( 'Venue not found.', 'tribe-events-community' ) . '</p>';
				return $output;
			}

			if ( ! is_user_logged_in() ) {
				return $this->login_form( __( 'Please log in to edit this venue', 'tribe-events-community' ) );
			}

			if ( ! current_user_can( 'edit_post', $tribe_venue_id ) ) {
				$output .= '<p>' . __( 'You do not have permission to edit this venue.', 'tribe-events-community' ) . '</p>';
				return $output;
			}

			$this->loadScripts = true;
			$output .= '<div id="tribe-community-events" class="form venue">';

			if ( ( isset( $_POST[ 'community-event' ] ) && $_POST[ 'community-event' ] ) && check_admin_referer( 'ecp_venue_submission' ) ) {
				if ( isset( $_POST[ 'post_title' ] ) && $_POST[ 'post_title' ] ) {
					$_POST['ID'] = $tribe_venue_id;
					$scrubber = new Tribe__Events__Community__Venue_Submission_Scrubber( $_POST );
					$_POST = $scrubber->scrub();

					remove_action( 'save_post_' . Tribe__Events__Main::VENUE_POST_TYPE, array( Tribe__Events__Main::instance(), 'save_venue_data' ), 16, 2 );

					wp_update_post( array(
						'post_title' => $_POST[ 'post_title' ],
						'ID' => $tribe_venue_id,
						'post_content' => $_POST[ 'post_content' ],
					) );

					Tribe__Events__API::updateVenue( $tribe_venue_id, $_POST['venue'] );

					$this->enqueueOutputMessage( __( 'Venue updated.', 'tribe-events-community' ) );
						/*
						// how it should work, but updateVenue does not return a boolean
						if ( Tribe__Events__API::updateVenue($tribe_venue_id, $_POST) ) {
						$this->enqueueOutputMessage( __("Venue updated.",'tribe-events-community') );
						}else{
						$this->enqueueOutputMessage( __("There was a problem saving your venue, please try again.",'tribe-events-community'), 'error' );
						}
						*/
				} else {
					$this->enqueueOutputMessage( __( 'Venue name cannot be blank.', 'tribe-events-community' ), 'error' );
				}
			} else {
				if ( isset( $_POST[ 'community-event' ] ) ) {
					$this->enqueueOutputMessage( __( 'There was a problem updating your venue, please try again.', 'tribe-events-community' ), 'error' );
				}
			}

			global $post;
			$post = get_post( intval( $tribe_venue_id ) );

			ob_start();
			include Tribe__Events__Templates::getTemplateHierarchy( 'community/edit-venue' );

			$output .= ob_get_clean();

			wp_reset_query();

			$output .= '</div>';

			remove_filter( 'tribe-post-origin', array( $this, 'filterPostOrigin' ) );
			return $output;

		}

Top ↑

Changelog

Changelog
Version Description
1.0 Introduced.