Function Reference: geodir_event_parse_schedule_dates

Summary

This function has not been documented yet.

Source File

geodir_event_parse_schedule_dates() is located in geodir_event_manager/gdevents_template_functions.php [Line: 1649]

Source Code

function geodir_event_parse_schedule_dates( $event_dates, $all_event_dates = array() ) {
	if ( $event_dates != '' ) {
		$event_dates_array = explode( ',', $event_dates );
		
		if ( !empty( $event_dates_array ) ) {
			foreach ( $event_dates_array as $event_date_row ) {
				$event_date_array = explode( '_', $event_date_row );
				
				$event_start = isset( $event_date_array[0] ) ? $event_date_array[0] : '';
				$event_end = isset( $event_date_array[1] ) ? $event_date_array[1] : '';
				
				$event_start_time = strtotime( $event_start );
				$event_end_time = strtotime( $event_end );
				
				if ( $event_start != '' ) {
					$schedule_date = date_i18n( 'Y-m-d', $event_start_time );
					
					if ( !in_array( $schedule_date, $all_event_dates ) ) {
						$all_event_dates[] = $schedule_date;
					}
				}
				
				if ( $event_end != '' && $event_end_time > $event_start_time ) {
					$event_start_time = $event_start_time + DAY_IN_SECONDS;
					
					while ( $event_start_time <= $event_end_time ) {
						$schedule_date = date_i18n( 'Y-m-d', $event_start_time );
						
						if ( !in_array( $schedule_date, $all_event_dates ) ) {
							$all_event_dates[] = $schedule_date;
						}
						
						$event_start_time = $event_start_time + DAY_IN_SECONDS;
					}
				}
			}
		}
	}
	
	$all_event_dates = !empty( $all_event_dates ) ? array_unique( $all_event_dates ) : $all_event_dates;
	
	return $all_event_dates;
}