ID ) ); $venues = eo_get_venues(); $venue_id = (int) eo_get_venue( $post->ID ); //$sche_once is used to disable date editing unless the user specifically requests it. //But a new event might be recurring (via filter), and we don't want to 'lock' new events. //See http://wordpress.org/support/topic/wrong-default-in-input-element $sche_once = ( $schedule == 'once' || !empty(get_current_screen()->action) ); if ( !$sche_once ){ $notices = ''. __( 'This is a reoccurring event', 'eventorganiser' ).'. ' . __( 'Check to edit this event and its reoccurrences', 'eventorganiser' ) .' '; }else{ $notices = ''; } //Start of meta box if( $notices = apply_filters('eventorganiser_event_metabox_notice', $notices, $post ) ){ echo '

'.$notices.'

'; } ?>

'.$format.'', ' hh:mm' );?>

$label ){ printf( '', $label, esc_attr( trim( $key, '_' ) )/* Keys are prefixed by '_' */ ); } ?>
value="format( $phpFormat ); ?>"/> value="format( 'H:i' );?>"/>
value="format( $phpFormat ); ?>"/> value="format( 'H:i' ); ?>"/>
__( 'once', 'eventorganiser' ), 'daily' => __( 'daily', 'eventorganiser' ), 'weekly' => __( 'weekly', 'eventorganiser' ), 'monthly' => __( 'monthly', 'eventorganiser' ), 'yearly' => __( 'yearly', 'eventorganiser' ), 'custom' => __( 'custom', 'eventorganiser' ) );?>

class="ui-widget-content ui-corner-all" name="eo_input[event_frequency]" id="HWSEvent_freq" type="number" min="1" max="365" maxlength="4" size="4" disabled="disabled" value="" />

weekday_abbrev[$wp_locale->weekday[$d]]; $schedule_days = ( is_array( $schedule_meta ) ? $schedule_meta : array() ); ?> value="" class="daysofweek" name="eo_input[days][]" disabled="disabled" />

class="ui-widget-content ui-corner-all" name="eo_input[schedule_end]" id="recend" size="10" maxlength="10" disabled="disabled" value="format( $phpFormat ); ?>"/>

:
'', 'EndDate' => '', 'StartTime' => '00:00', 'FinishTime' => '23:59', 'schedule' => 'once', 'event_frequency' => 1, 'schedule_end' => '', 'allday' => 0, 'schedule_meta' => '', 'days' => array(), 'include' => '', 'exclude' => '', ) ); //Update venue $venue_id = !empty( $raw_data['event-venue'] ) ? intval( $raw_data['event-venue'] ) : null; //Maybe create a new venue if ( empty( $venue_id ) && !empty( $_POST['eo_venue']) && current_user_can( 'manage_venues' ) ){ $venue = $_POST['eo_venue']; if ( !empty( $venue['name'] ) ){ $new_venue = eo_insert_venue( $venue['name'], $venue ); if ( !is_wp_error( $new_venue ) ) $venue_id = $new_venue['term_id']; } } //Set venue $r = wp_set_post_terms( $post_id, array( $venue_id ), 'event-venue', false ); //If reocurring, but not editing occurrences, can abort here, but trigger hook. if ( eo_reoccurs( $post_id ) && ( !isset( $raw_data['AlterRe'] ) || 'yes' != $raw_data['AlterRe'] ) ){ do_action( 'eventorganiser_save_event', $post_id );//Need this to update cache return; } //Set times for all day events $all_day = intval($raw_data['allday']); if ( $all_day ){ $raw_data['StartTime'] = '00:00'; $raw_data['FinishTime'] = '23:59'; } //Check dates $start = _eventorganiser_check_datetime( trim( $raw_data['StartDate'] ) . ' ' . trim( $raw_data['StartTime'] ) ); $end = _eventorganiser_check_datetime( trim( $raw_data['EndDate'] ) . ' ' . trim( $raw_data['FinishTime'] ) ); $schedule_last = _eventorganiser_check_datetime( trim( $raw_data['schedule_end'] ) . ' ' . trim( $raw_data['StartTime'] ) ); //Collect schedule meta $schedule = $raw_data['schedule']; if ( 'weekly' == $schedule ){ $schedule_meta = $raw_data['days']; $occurs_by = ''; } elseif ( 'monthly' == $schedule ){ $schedule_meta = $raw_data['schedule_meta']; $occurs_by = trim( $schedule_meta, '=' ); } else { $schedule_meta = ''; $occurs_by = ''; } //Collect include/exclude $in_ex = array(); foreach ( array( 'include', 'exclude' ) as $key ): $in_ex[$key] = array(); $arr = explode( ',', sanitize_text_field( $raw_data[$key] ) ); if ( !empty( $arr ) ){ foreach ( $arr as $date ): $date_obj = _eventorganiser_check_datetime( $date . ' ' . $raw_data['StartTime'], 'Y-m-d' ); if( $date_obj ) $in_ex[$key][] = $date_obj; endforeach; } endforeach; $event_data = array( 'start' => $start, 'end' => $end, 'all_day' => $all_day, 'schedule' => $schedule, 'frequency' => (int) $raw_data['event_frequency'], 'schedule_last' => $schedule_last, 'schedule_meta' => $schedule_meta, 'occurs_by' => $occurs_by, 'include' => $in_ex['include'], 'exclude' => $in_ex['exclude'], ); $response = eo_update_event( $post_id, $event_data ); if ( is_wp_error( $response ) ){ global $EO_Errors; $code = $response->get_error_code(); $message = $response->get_error_message( $code ); $errors[$post_id][] = __( 'Event dates were not saved.', 'eventorganiser' ); $errors[$post_id][] = $message; $EO_Errors->add( 'eo_error',$message ); update_option( 'eo_notice', $errors ); } return; } /** * Display custom error or alert messages on events CPT page * * @ignore * @since 1.0.0 */ add_action( 'admin_notices', '_eventorganiser_event_edit_admin_notice', 0 ); function _eventorganiser_event_edit_admin_notice(){ global $post; $notice = get_option( 'eo_notice' ); if ( empty( $notice ) || empty( $post->ID ) ) return ''; foreach ( $notice as $pid => $messages ){ if ( $post->ID == $pid ){ printf( '

%s

', implode( '

', $messages ) ); //make sure to remove notice after its displayed so its only displayed when needed. unset( $notice[0] ); unset( $notice[$pid] ); update_option( 'eo_notice', $notice ); } } } ?>