Function Reference: geodir_save_event_schedule
Summary
This function has not been documented yet.
Source File
geodir_save_event_schedule() is located in geodir_event_manager/gdevents_functions.php [Line: 333]
Source Code
function geodir_save_event_schedule( $event_shedule_info = array(), $last_post_id = '' ) { global $wpdb; if ( empty( $event_shedule_info ) || $last_post_id == '' ) { return false; } // Check recurring enabled $post_info = geodir_get_post_info( $last_post_id ); $recurring_pkg = geodir_event_recurring_pkg( $post_info ); $format = geodir_event_date_format(); $default_start = date_i18n( $format, current_time( 'timestamp' ) ); if ( !$recurring_pkg ) { $event_shedule_info['is_recurring'] = false; } $wpdb->query( $wpdb->prepare( "DELETE FROM " . EVENT_SCHEDULE . " WHERE event_id=%d", array( $last_post_id ) ) ); $event_recurring_dates = array(); if ( isset( $event_shedule_info['event_recurring_dates'] ) && !empty( $event_shedule_info['event_recurring_dates'] ) ) { if ( is_array( $event_shedule_info['event_recurring_dates'] ) ) { $event_recurring_dates = $event_shedule_info['event_recurring_dates']; } else { $event_recurring_dates = explode( ',', $event_shedule_info['event_recurring_dates'] ); } } // all day $all_day = isset( $event_shedule_info['all_day'] ) && !empty( $event_shedule_info['all_day'] ) ? true : false; $different_times = isset( $event_shedule_info['different_times'] ) && !empty( $event_shedule_info['different_times'] ) ? true : false; $starttime = !$all_day && isset( $event_shedule_info['starttime'] ) ? $event_shedule_info['starttime'] : ''; $endtime = !$all_day && isset( $event_shedule_info['endtime'] ) ? $event_shedule_info['endtime'] : ''; $starttimes = !$all_day && isset( $event_shedule_info['starttimes'] ) ? $event_shedule_info['starttimes'] : array(); $endtimes = !$all_day && isset( $event_shedule_info['endtimes'] ) ? $event_shedule_info['endtimes'] : array(); if ( $event_shedule_info['is_recurring'] ) { if ( !empty( $event_recurring_dates ) ) { $duration = isset( $event_shedule_info['duration_x'] ) && (int)$event_shedule_info['duration_x'] > 0 ? (int)$event_shedule_info['duration_x'] : 1; $repeat_type = isset( $event_shedule_info['repeat_type'] ) ? $event_shedule_info['repeat_type'] : 'custom'; $recurring = 1; $duration--; $c = 0; foreach( $event_recurring_dates as $key => $date ) { if ( $repeat_type == 'custom' && $different_times ) { $duration = 0; $starttime = isset( $starttimes[$c] ) ? $starttimes[$c] : ''; $endtime = isset( $endtimes[$c] ) ? $endtimes[$c] : ''; } if ( $all_day == 1 ) { $starttime = ''; $endtime = ''; } $event_enddate = date_i18n( 'Y-m-d', strtotime( $date . ' + ' . $duration . ' day' ) ); $sql = $wpdb->prepare( "INSERT INTO " . EVENT_SCHEDULE . " (event_id, event_date, event_enddate, event_starttime, event_endtime, recurring, all_day) VALUES (%d, %s, %s, %s, %s, %d, %d)", array( $last_post_id, $date, $event_enddate, $starttime, $endtime, $recurring, $all_day ) ) ; $wpdb->query( $sql ); $c++; } } } else { $start_date = isset( $event_shedule_info['event_start'] ) ? $event_shedule_info['event_start'] : ''; $end_date = isset( $event_shedule_info['event_end'] ) ? $event_shedule_info['event_end'] : $start_date; if ( !geodir_event_is_date( $start_date ) && !empty( $event_recurring_dates ) ) { $start_date = $event_recurring_dates[0]; } if ( !geodir_event_is_date( $start_date ) ) { $start_date = $default_start; } if ( strtotime( $end_date ) < strtotime( $start_date ) ) { $end_date = $start_date; } if ( $starttime == '' && !empty( $starttimes ) ) { $starttime = $starttimes[0]; $endtime = $endtimes[0]; } if ( $all_day ) { $starttime = ''; $endtime = ''; } $recurring = 0; $sql = $wpdb->prepare( "INSERT INTO " . EVENT_SCHEDULE . " (event_id, event_date, event_enddate, event_starttime, event_endtime, recurring, all_day) VALUES (%d, %s, %s, %s, %s, %d, %d)", array( $last_post_id, $start_date, $end_date, $starttime, $endtime, $recurring, $all_day ) ) ; $wpdb->query( $sql ); } }