Function Reference: geodir_event_save_data
Summary
This function has not been documented yet.
Source File
geodir_event_save_data() is located in geodir_event_manager/gdevents_functions.php [Line: 127]
Source Code
function geodir_event_save_data( $post_id = '', $request_info ) { global $wpdb, $current_user; $gd_post_info = array(); $last_post_id = $post_id; $post_type = get_post_type( $post_id ); if ( $post_type != 'gd_event' ) { return false; } $gd_post_info['event_reg_desc'] = isset( $request_info['event_reg_desc'] ) ? $request_info['event_reg_desc'] : ''; $gd_post_info['event_reg_fees'] = isset( $request_info['event_reg_fees'] ) ? $request_info['event_reg_fees'] : ''; $format = geodir_event_date_format(); $default_start = date_i18n( $format, current_time( 'timestamp' ) ); // Check recurring enabled $post_info = geodir_get_post_info( $post_id ); $recurring_pkg = geodir_event_recurring_pkg( $post_info ); // recurring event $is_recurring = isset( $request_info['is_recurring'] ) && empty( $request_info['is_recurring'] ) ? false : true; $event_date = isset( $request_info['event_date'] ) ? trim( $request_info['event_date'] ) : ( isset( $request_info['event_recurring_dates'] ) ? $request_info['event_recurring_dates'] : '' ); $event_start = isset( $request_info['event_start'] ) ? trim( $request_info['event_start'] ) : $event_date; $event_end = isset( $request_info['event_end'] ) ? trim( $request_info['event_end'] ) : ''; $all_day = isset( $request_info['all_day'] ) && !empty( $request_info['all_day'] ) ? true : false; $starttime = isset( $request_info['starttime'] ) && !$all_day ? trim( $request_info['starttime'] ) : ''; $endtime = isset( $request_info['endtime'] ) && !$all_day ? trim( $request_info['endtime'] ) : ''; $repeat_days = array(); $repeat_weeks = array(); // recurring event if ( $recurring_pkg && $is_recurring ) { $repeat_type = isset( $request_info['repeat_type'] ) && in_array( $request_info['repeat_type'], array( 'day', 'week', 'month', 'year', 'custom' ) ) ? $request_info['repeat_type'] : 'custom'; // day, week, month, year, custom $different_times = isset( $request_info['different_times'] ) && !empty( $request_info['different_times'] ) ? true : false; $starttimes = $different_times && !$all_day && isset( $request_info['starttimes'] ) ? $request_info['starttimes'] : array(); $endtimes = $different_times && !$all_day && isset( $request_info['endtimes'] ) && !empty( $request_info['endtimes'] ) ? $request_info['endtimes'] : array(); // week days if ( $repeat_type == 'week' || $repeat_type == 'month' ) { $repeat_days = isset( $request_info['repeat_days'] ) ? $request_info['repeat_days'] : $repeat_days; } // by week if ( $repeat_type == 'month' ) { $repeat_weeks = isset( $request_info['repeat_weeks'] ) ? $request_info['repeat_weeks'] : $repeat_weeks; } if ( $repeat_type == 'custom' ) { $event_recurring_dates = isset( $request_info['event_recurring_dates'] ) ? trim( $request_info['event_recurring_dates'] ) : ''; $event_recurring_dates = geodir_event_parse_dates( $event_recurring_dates ); if ( $different_times == 1 ) { $starttime = ''; $endtime = ''; } $event_start = !empty( $event_recurring_dates[0] ) ? $event_recurring_dates[0] : $default_start; $event_end = $event_start; $duration_x = 1; $repeat_x = 1; $repeat_end_type = 0; $max_repeat = 1; $repeat_end = ''; $event_recurring_dates = !empty( $event_recurring_dates ) ? implode( ',', $event_recurring_dates ) : $event_start; } else { $repeat_x = isset( $request_info['repeat_x'] ) ? trim( $request_info['repeat_x'] ) : ''; $duration_x = isset( $request_info['duration_x'] ) ? trim( $request_info['duration_x'] ) : 1; $repeat_end_type = isset( $request_info['repeat_end_type'] ) ? trim( $request_info['repeat_end_type'] ) : 0; $event_end = ''; $max_repeat = $repeat_end_type != 1 && isset( $request_info['max_repeat'] ) ? (int)$request_info['max_repeat'] : 1; $repeat_end = $repeat_end_type == 1 && isset( $request_info['repeat_end'] ) ? $request_info['repeat_end'] : ''; $repeat_x = $repeat_x > 0 ? (int)$repeat_x : 1; $duration_x = $duration_x > 0 ? (int)$duration_x : 1; $max_repeat = $max_repeat > 0 ? (int)$max_repeat : 1; if ( $repeat_end_type == 1 && !geodir_event_is_date( $repeat_end ) ) { $repeat_end = ''; } if ( !geodir_event_is_date( $event_start ) ) { $event_start = $default_start; } $event_recurring_dates = geodir_event_date_occurrences( $repeat_type, $event_start, $event_end, $repeat_x, $max_repeat, $repeat_end, $repeat_days, $repeat_weeks ); $event_recurring_dates = !empty( $event_recurring_dates ) ? implode( ",", $event_recurring_dates ) : ''; } } else { if ( !geodir_event_is_date( $event_start ) ) { $event_start = $default_start; } if ( strtotime( $event_end ) < strtotime( $event_start ) ) { $event_end = $event_start; } $event_recurring_dates = $event_start; $starttimes = array(); $endtimes = array(); $repeat_type = ''; $repeat_x = ''; $duration_x = ''; $repeat_end_type = ''; $max_repeat = ''; $repeat_end = ''; $different_times = false; } $event_shedule_info = array(); $event_shedule_info['is_recurring'] = $is_recurring; $event_shedule_info['event_start'] = $event_start; $event_shedule_info['event_end'] = $event_end; $event_shedule_info['event_recurring_dates'] = $event_recurring_dates; $event_shedule_info['all_day'] = $all_day; $event_shedule_info['starttime'] = $starttime; $event_shedule_info['endtime'] = $endtime; $event_shedule_info['different_times'] = $different_times; $event_shedule_info['starttimes'] = $starttimes; $event_shedule_info['endtimes'] = $endtimes; $event_shedule_info['repeat_type'] = $repeat_type; $event_shedule_info['repeat_x'] = $repeat_x; $event_shedule_info['duration_x'] = $duration_x; $event_shedule_info['repeat_end_type'] = $repeat_end_type; $event_shedule_info['max_repeat'] = $max_repeat; $event_shedule_info['repeat_end'] = $repeat_end; $event_shedule_info['repeat_days'] = $repeat_days; $event_shedule_info['repeat_weeks'] = $repeat_weeks; // save post info $gd_post_info['is_recurring'] = $is_recurring; $gd_post_info['recurring_dates'] = maybe_serialize( $event_shedule_info ); /* --- save businesses --- */ if ( isset( $request_info['geodir_link_business' ]) ) { $gd_post_info['geodir_link_business'] = $request_info['geodir_link_business']; } // save event dates geodir_save_event_schedule( $event_shedule_info, $last_post_id ); // to create event-schedule dates // save post info geodir_save_post_info($last_post_id, $gd_post_info); return $last_post_id; }