Function Reference: geodir_event_show_shedule_date
Summary
This function has not been documented yet.
Filters
‘geodir_event_recurring_event_link’ [Line: 790]
Source File
geodir_event_show_shedule_date() is located in geodir_event_manager/gdevents_template_functions.php [Line: 654]
Source Code
function geodir_event_show_shedule_date() { global $post, $geodir_date_time_format, $geodir_date_format; if ( geodir_is_page( 'preview' ) ) { $recuring_data = (array)$post; } else { $recuring_data = maybe_unserialize( $post->recurring_dates ); } if ( !empty( $recuring_data ) && ( isset( $recuring_data['event_recurring_dates'] ) && $recuring_data['event_recurring_dates'] != '' ) || ( isset( $post->is_recurring ) && !empty( $post->is_recurring ) ) ) { $geodir_num_dates = 0; // Check recurring enabled $recurring_pkg = geodir_event_recurring_pkg( $post ); $hide_past_dates = get_option( 'geodir_event_hide_past_dates' ); if ( $post->is_recurring && $recurring_pkg ) { if ( !isset( $recuring_data['repeat_type'] ) ) { $recuring_data['repeat_type'] = 'custom'; } $repeat_type = isset( $recuring_data['repeat_type'] ) && in_array( $recuring_data['repeat_type'], array( 'day', 'week', 'month', 'year', 'custom' ) ) ? $recuring_data['repeat_type'] : 'year'; // day, week, month, year, custom $different_times = isset( $recuring_data['different_times'] ) && !empty( $recuring_data['different_times'] ) ? true : false; if ( geodir_is_page( 'preview' ) ) { $start_date = geodir_event_is_date( $recuring_data['event_start'] ) ? $recuring_data['event_start'] : date_i18n( 'Y-m-d', current_time( 'timestamp' ) ); $end_date = isset( $recuring_data['event_end'] ) ? trim( $recuring_data['event_end'] ) : ''; $all_day = isset( $recuring_data['all_day'] ) && !empty( $recuring_data['all_day'] ) ? true : false; $starttime = isset( $recuring_data['starttime'] ) && !$all_day ? trim( $recuring_data['starttime'] ) : ''; $endtime = isset( $recuring_data['endtime'] ) && !$all_day ? trim( $recuring_data['endtime'] ) : ''; $starttimes = isset( $recuring_data['starttimes'] ) ? $recuring_data['starttimes'] : ''; $endtimes = isset( $recuring_data['endtimes'] ) ? $recuring_data['endtimes'] : ''; $repeat_x = isset( $recuring_data['repeat_x'] ) ? trim( $recuring_data['repeat_x'] ) : ''; $duration_x = isset( $recuring_data['duration_x'] ) ? trim( $recuring_data['duration_x'] ) : 1; $repeat_end_type = isset( $recuring_data['repeat_end_type'] ) ? trim( $recuring_data['repeat_end_type'] ) : 0; $max_repeat = $repeat_end_type != 1 && isset( $recuring_data['max_repeat'] ) ? (int)$recuring_data['max_repeat'] : 0; $repeat_end = $repeat_end_type == 1 && isset( $recuring_data['repeat_end'] ) ? $recuring_data['repeat_end'] : ''; if ( geodir_event_is_date( $end_date ) && strtotime( $end_date ) < strtotime( $start_date ) ) { $end_date = $start_date; } $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 ( $repeat_type == 'custom' ) { $event_recurring_dates = explode( ',', $recuring_data['event_recurring_dates'] ); } else { // week days $repeat_days = array(); if ( $repeat_type == 'week' || $repeat_type == 'month' ) { $repeat_days = isset( $recuring_data['repeat_days'] ) ? $recuring_data['repeat_days'] : $repeat_days; } // by week $repeat_weeks = array(); if ( $repeat_type == 'month' ) { $repeat_weeks = isset( $recuring_data['repeat_weeks'] ) ? $recuring_data['repeat_weeks'] : $repeat_weeks; } $event_recurring_dates = geodir_event_date_occurrences( $repeat_type, $start_date, $end_date, $repeat_x, $max_repeat, $repeat_end, $repeat_days, $repeat_weeks ); } } else { $event_recurring_dates = explode( ',', $recuring_data['event_recurring_dates'] ); } if ( $repeat_type == 'custom' && $different_times ) { $astarttimes = isset( $recuring_data['starttimes'] ) ? $recuring_data['starttimes'] : array(); $aendtimes = isset( $recuring_data['endtimes'] ) ? $recuring_data['endtimes'] : array(); } else { $starttimes = isset( $recuring_data['starttime'] ) ? $recuring_data['starttime'] : ''; $endtimes = isset( $recuring_data['endtime'] ) ? $recuring_data['endtime'] : ''; } $output = ''; $output .= ''; foreach( $event_recurring_dates as $key => $date ) { $geodir_num_dates++; if ( $repeat_type == 'custom' && $different_times ) { if ( !empty( $astarttimes ) && isset( $astarttimes[$key] ) ) { $starttimes = $astarttimes[$key]; $endtimes = $aendtimes[$key]; } else { $starttimes = ''; $endtimes = ''; } } $duration = isset( $recuring_data['duration_x'] ) && (int)$recuring_data['duration_x'] > 0 ? (int)$recuring_data['duration_x'] : 1; $duration--; $enddate = date_i18n( 'Y-m-d', strtotime( $date . ' + ' . $duration . ' day' ) ); // Hide past dates if ( $hide_past_dates && strtotime( $enddate ) < strtotime( date_i18n( 'Y-m-d', current_time( 'timestamp' ) ) ) ) { $geodir_num_dates--; continue; } $sdate = strtotime( $date . ' ' . $starttimes ); $edate = strtotime( $enddate . ' ' . $endtimes ); $start_date = date_i18n( $geodir_date_time_format, $sdate ); $end_date = date_i18n( $geodir_date_time_format, $edate ); $full_day = false; $same_datetime = false; if ( $starttimes == $endtimes && ( $starttimes == '' || $starttimes == '00:00:00' || $starttimes == '00:00' ) ) { $full_day = true; } if ( $start_date == $end_date && $full_day ) { $same_datetime = true; } $link_date = date_i18n( 'Y-m-d', $sdate ); $title_date = date_i18n( $geodir_date_format, $sdate ); if ( $full_day ) { $start_date = $title_date; $end_date = date_i18n( $geodir_date_format, $edate ); } // recuring event title $recurring_event_title = $post->post_title . ' - ' . $title_date; $recurring_event_title = apply_filters( 'geodir_event_recurring_event_link', $recurring_event_title, $post->ID ); // recuring event link $recurring_event_link = geodir_getlink( get_permalink( $post->ID ), array( 'gde' => $link_date ) ); $recurring_event_link = esc_url( apply_filters( 'geodir_event_recurring_event_link', $recurring_event_link, $post->ID ) ); $recurring_class = 'gde-recurr-link'; $recurring_class_cont = 'gde-recurring-cont'; if ( isset( $_REQUEST['gde'] ) && $_REQUEST['gde'] == $link_date ) { $recurring_event_link = 'javascript:void(0);'; $recurring_class .= ' gde-recurr-act'; $recurring_class_cont .= ' gde-recurr-cont-act'; } $output .= ''; if ( !$geodir_num_dates > 0 ) { return; } $geodir_date_count = $geodir_num_dates > 1 ? __( 'Recurring Dates', GEODIREVENTS_TEXTDOMAIN ) : __( 'Date',GEODIREVENTS_TEXTDOMAIN ); } else { $geodir_num_dates = 0; if ( isset( $recuring_data['is_recurring'] ) ) { $start_date = isset( $recuring_data['event_start'] ) ? $recuring_data['event_start'] : ''; $end_date = isset( $recuring_data['event_end'] ) ? $recuring_data['event_end'] : $start_date; $all_day = isset( $recuring_data['all_day'] ) && !empty( $recuring_data['all_day'] ) ? true : false; $starttime = isset( $recuring_data['starttime'] ) ? $recuring_data['starttime'] : ''; $endtime = isset( $recuring_data['endtime'] ) ? $recuring_data['endtime'] : ''; $event_recurring_dates = explode( ',', $recuring_data['event_recurring_dates'] ); $starttimes = isset( $recuring_data['starttimes'] ) && !empty( $recuring_data['starttimes'] ) ? $recuring_data['starttimes'] : array(); $endtimes = isset( $recuring_data['endtimes'] ) && !empty( $recuring_data['endtimes'] ) ? $recuring_data['endtimes'] : array(); if ( !geodir_event_is_date( $start_date ) && !empty( $event_recurring_dates ) ) { $start_date = $event_recurring_dates[0]; } if ( strtotime( $end_date ) < strtotime( $start_date ) ) { $end_date = $start_date; } if ( $starttime == '' && !empty( $starttimes ) ) { $starttime = $starttimes[0]; $endtime = $endtimes[0]; } $one_day = false; if ( $start_date == $end_date && $all_day ) { $one_day = true; } if ( $all_day ) { $start_date = date_i18n( $geodir_date_format, strtotime( $start_date ) ); $end_date = date_i18n( $geodir_date_format, strtotime( $end_date ) ); if ( $start_date == $end_date ) { $one_day = true; } } else { if ( $start_date == $end_date && $starttime == $endtime ) { $end_date = date_i18n( $geodir_date_format, strtotime( $start_date . ' ' . $starttime . ' +1 day' ) ); $one_day = false; } $start_date = date_i18n( $geodir_date_time_format, strtotime( $start_date . ' ' . $starttime ) ); $end_date = date_i18n( $geodir_date_time_format, strtotime( $end_date . ' ' . $endtime ) ); } $output = ''; $output .= ''; $output .= '' . $start_date; if ( !$same_datetime ) { $output .= '
'; } $output .= '
'; $output .= '' . $end_date; } $output .= ''; $output .= ''; $title_start_date = date_i18n( 'Y-m-d H:i:s', strtotime( $start_date ) ) . ' ' . date_i18n( 'T+H:i', get_option( 'gmt_offset' ) * HOUR_IN_SECONDS ); if ( !$one_day ) { $title_start_date .= ' - ' . date_i18n( 'Y-m-d H:i:s', strtotime( $end_date ) ) . ' ' . date_i18n( 'T+H:i', get_option( 'gmt_offset' ) * HOUR_IN_SECONDS ); } $output .= ''; } else { // older event dates $event_recurring_dates = explode( ',', $recuring_data['event_recurring_dates'] ); $starttimes = isset( $recuring_data['starttime'] ) ? $recuring_data['starttime'] : ''; $endtimes = isset( $recuring_data['endtime'] ) ? $recuring_data['endtime'] : ''; $output = ''; $output .= ''; $output .= '' . $start_date; if ( !$one_day ) { $output .= '
'; $output .= '
'; $output .= '' . $end_date; } $output .= ''; foreach( $event_recurring_dates as $key => $date ) { $geodir_num_dates++; if ( isset( $recuring_data['different_times'] ) && $recuring_data['different_times'] == '1' ) { $starttimes = isset( $recuring_data['starttimes'][$key] ) ? $recuring_data['starttimes'][$key] : ''; $endtimes = isset( $recuring_data['endtimes'][$key] ) ? $recuring_data['endtimes'][$key] : ''; } $sdate = strtotime( $date . ' ' . $starttimes ); $edate = strtotime( $date . ' ' . $endtimes ); if ( $starttimes > $endtimes ) { $edate = strtotime( $date . ' ' . $endtimes . " +1 day" ); } // Hide past dates if ( $hide_past_dates && strtotime( date_i18n( 'Y-m-d', $edate ) ) < strtotime( date_i18n( 'Y-m-d', current_time( 'timestamp' ) ) ) ) { $geodir_num_dates--; continue; } $output .= ''; if ( !$geodir_num_dates > 0 ) { return; } } $geodir_date_count = $geodir_num_dates > 1 ? __( 'Dates', GEODIREVENTS_TEXTDOMAIN ) : __( 'Date',GEODIREVENTS_TEXTDOMAIN ); } $geodir_event_dates_display = $geodir_num_dates > 5 ? 'geodir_event_dates_display' : ''; ob_start(); echo ''; $output .= '' . date_i18n( $geodir_date_time_format, $sdate ); if ( $sdate != $edate ) { $output .= '
'; } $output .= '
'; $output .= '' . date_i18n( $geodir_date_time_format, $edate ); } $output .= ''; if ( $geodir_num_dates == 1 ) { echo '' . $geodir_date_count . ' : '; } else { echo '' . $geodir_date_count . ' : '; } echo $output; echo ''; echo $datehtml = ob_get_clean(); } }