Tribe__Events__Community__Main::doVenueForm( int $tribe_venue_id )
Main form for events.
Contents
Parameters
- $tribe_venue_id
-
(int) (Required) The event's venue ID.
Return
(string) The form.
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;
}
Changelog
| Version | Description |
|---|---|
| 1.0 | Introduced. |