From ee5369529fe33abb5e9d8780781a1f8fce39b5d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Benoi=CC=82t=20Chantre?= Date: Thu, 27 Apr 2017 17:24:12 +0200 Subject: [PATCH 1/6] List view: localize date and time Use the date and time format from the settings --- inc/events.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/inc/events.php b/inc/events.php index d705663..2e1d6fc 100644 --- a/inc/events.php +++ b/inc/events.php @@ -168,8 +168,8 @@ function manage_event_columns( $column, $post_id ) { /* Get the post meta. */ $allday = get_post_meta( $post_id, 'be_event_allday', true ); - $date_format = $allday ? 'M j, Y' : 'M j, Y g:i A'; - $start = esc_attr( date( $date_format, get_post_meta( $post_id, 'be_event_start', true ) ) ); + $date_format = $allday ? get_option( 'date_format' ) : get_option( 'date_format' ) . ' - ' . get_option( 'time_format' ); + $start = esc_attr( date_i18n( $date_format, get_post_meta( $post_id, 'be_event_start', true ) ) ); /* If no duration is found, output a default message. */ if ( empty( $start ) ) { @@ -186,8 +186,8 @@ function manage_event_columns( $column, $post_id ) { /* Get the post meta. */ $allday = get_post_meta( $post_id, 'be_event_allday', true ); - $date_format = $allday ? 'M j, Y' : 'M j, Y g:i A'; - $end = esc_attr( date( $date_format, get_post_meta( $post_id, 'be_event_end', true ) ) ); + $date_format = $allday ? get_option( 'date_format' ) : get_option( 'date_format' ) . ' - ' . get_option( 'time_format' ); + $end = esc_attr( date_i18n( $date_format, get_post_meta( $post_id, 'be_event_end', true ) ) ); /* If no duration is found, output a default message. */ if ( empty( $end ) ) { From ff57e1c68d31217b01d69f5c5cb121315fe2bbec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Benoi=CC=82t=20Chantre?= Date: Wed, 28 Feb 2018 09:36:23 +0100 Subject: [PATCH 2/6] Revert "List view: localize date and time" MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit ee5369529fe33abb5e9d8780781a1f8fce39b5d9. Doesn’t work well with strange date settings (eg. without day). --- inc/events.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/inc/events.php b/inc/events.php index 2e1d6fc..d705663 100644 --- a/inc/events.php +++ b/inc/events.php @@ -168,8 +168,8 @@ function manage_event_columns( $column, $post_id ) { /* Get the post meta. */ $allday = get_post_meta( $post_id, 'be_event_allday', true ); - $date_format = $allday ? get_option( 'date_format' ) : get_option( 'date_format' ) . ' - ' . get_option( 'time_format' ); - $start = esc_attr( date_i18n( $date_format, get_post_meta( $post_id, 'be_event_start', true ) ) ); + $date_format = $allday ? 'M j, Y' : 'M j, Y g:i A'; + $start = esc_attr( date( $date_format, get_post_meta( $post_id, 'be_event_start', true ) ) ); /* If no duration is found, output a default message. */ if ( empty( $start ) ) { @@ -186,8 +186,8 @@ function manage_event_columns( $column, $post_id ) { /* Get the post meta. */ $allday = get_post_meta( $post_id, 'be_event_allday', true ); - $date_format = $allday ? get_option( 'date_format' ) : get_option( 'date_format' ) . ' - ' . get_option( 'time_format' ); - $end = esc_attr( date_i18n( $date_format, get_post_meta( $post_id, 'be_event_end', true ) ) ); + $date_format = $allday ? 'M j, Y' : 'M j, Y g:i A'; + $end = esc_attr( date( $date_format, get_post_meta( $post_id, 'be_event_end', true ) ) ); /* If no duration is found, output a default message. */ if ( empty( $end ) ) { From 408b79f4fe368687401b80427730363aee637d56 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Benoi=CC=82t=20Chantre?= Date: Wed, 28 Feb 2018 10:37:39 +0100 Subject: [PATCH 3/6] i18n and customization of date time format for columns --- inc/events.php | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/inc/events.php b/inc/events.php index 5b93b1c..987caff 100644 --- a/inc/events.php +++ b/inc/events.php @@ -161,6 +161,12 @@ function edit_event_columns( $columns ) { */ function manage_event_columns( $column, $post_id ) { + $set_dmy_format = apply_filters( 'be_event_set_dmy_format', false ); + $date_format = apply_filters( 'be_event_columns_date_format', $set_dmy_format ? 'j M Y' : 'M j, Y' ); + + $set_24_hour_clock = apply_filters( 'be_event_set_24_hour_clock', false ); + $date_time_format = apply_filters( 'be_event_columns_date_time_format', $set_24_hour_clock ? $date_format . ' (G:i)' : $date_format . ' (g:i A)' ); + switch ( $column ) { /* If displaying the 'Starts' column. */ @@ -168,7 +174,7 @@ function manage_event_columns( $column, $post_id ) { /* Get the post meta. */ $allday = get_post_meta( $post_id, 'be_event_allday', true ); - $date_format = $allday ? 'M j, Y' : 'M j, Y g:i A'; + $date_format = $allday ? $date_format : $date_time_format; $start = get_post_meta( $post_id, 'be_event_start', true ); /* If no duration is found, output a default message. */ @@ -186,7 +192,7 @@ function manage_event_columns( $column, $post_id ) { /* Get the post meta. */ $allday = get_post_meta( $post_id, 'be_event_allday', true ); - $date_format = $allday ? 'M j, Y' : 'M j, Y g:i A'; + $date_format = $allday ? $date_format : $date_time_format; $end = get_post_meta( $post_id, 'be_event_end', true ); /* If no duration is found, output a default message. */ From 29c77644714d8e8639db0807fe887bc190ca58b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Benoi=CC=82t=20Chantre?= Date: Wed, 28 Feb 2018 11:47:07 +0100 Subject: [PATCH 4/6] i18n of date time details metabox --- inc/events.php | 30 +++++++++++++++++++++--------- js/events-admin.js | 2 +- 2 files changed, 22 insertions(+), 10 deletions(-) diff --git a/inc/events.php b/inc/events.php index 987caff..ea89ebb 100644 --- a/inc/events.php +++ b/inc/events.php @@ -381,6 +381,10 @@ function metabox_scripts() { 'jquery-ui-datepicker', ), BE_EVENTS_CALENDAR_VERSION, true ); wp_enqueue_script( 'be-events-calendar' ); + + $l18n_data['dateFormat'] = apply_filters( 'be_event_set_dmy_format', false ) ? 'dd/mm/yy' : 'mm/dd/yy'; + + wp_localize_script( 'be-events-calendar', 'beEventsCalendar', $l18n_data ); } /** @@ -400,15 +404,21 @@ function metabox_register() { */ function render_metabox() { + $set_dmy_format = apply_filters( 'be_event_set_dmy_format', false ); + $date_format = $set_dmy_format ? 'd/m/Y' : 'm/d/Y'; + + $set_24_hour_clock = apply_filters( 'be_event_set_24_hour_clock', false ); + $time_format = $set_24_hour_clock ? 'G:i' : 'g:ia'; + $start = get_post_meta( get_the_ID(), 'be_event_start', true ); $end = get_post_meta( get_the_ID(), 'be_event_end', true ); $allday = get_post_meta( get_the_ID(), 'be_event_allday', true ); if ( ! empty( $start ) && ! empty( $end ) ) { - $start_date = date( 'm/d/Y', $start ); - $start_time = date( 'g:ia', $start ); - $end_date = date( 'm/d/Y', $end ); - $end_time = date( 'g:ia', $end ); + $start_date = date( $date_format, $start ); + $start_time = date( $time_format, $start ); + $end_date = date( $date_format, $end ); + $end_time = date( $time_format, $end ); } wp_nonce_field( 'be_events_calendar_date_time', 'be_events_calendar_date_time_nonce' ); @@ -434,9 +444,9 @@ class="be-events-calendar-time" value="">

- MM/DD/YYYY' ); ?> - H:MM am/pm' ); ?> -
+ ' . ( $set_dmy_format ? 'DD/MM/YYYY' : 'MM/DD/YYYY' ) . '' ); ?> + ' . ( $set_24_hour_clock ? 'H:MM' : 'H:MM' ) . '' ); ?> +

Date: Wed, 28 Feb 2018 11:52:20 +0100 Subject: [PATCH 5/6] Rename filter with a more precise name --- inc/events.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/inc/events.php b/inc/events.php index ea89ebb..4507233 100644 --- a/inc/events.php +++ b/inc/events.php @@ -165,7 +165,7 @@ function manage_event_columns( $column, $post_id ) { $date_format = apply_filters( 'be_event_columns_date_format', $set_dmy_format ? 'j M Y' : 'M j, Y' ); $set_24_hour_clock = apply_filters( 'be_event_set_24_hour_clock', false ); - $date_time_format = apply_filters( 'be_event_columns_date_time_format', $set_24_hour_clock ? $date_format . ' (G:i)' : $date_format . ' (g:i A)' ); + $date_time_format = apply_filters( 'be_event_columns_time_format', $set_24_hour_clock ? $date_format . ' (G:i)' : $date_format . ' (g:i A)' ); switch ( $column ) { From 48b22a9602844255745afe82afb2706211ec95dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Benoi=CC=82t=20Chantre?= Date: Wed, 28 Feb 2018 13:49:46 +0100 Subject: [PATCH 6/6] i18n of date time details for recurring events --- inc/events-recurring.php | 38 +++++++++++++++++++++++++------------- 1 file changed, 25 insertions(+), 13 deletions(-) diff --git a/inc/events-recurring.php b/inc/events-recurring.php index 3aace3f..4ff8d08 100644 --- a/inc/events-recurring.php +++ b/inc/events-recurring.php @@ -267,6 +267,10 @@ function metabox_scripts() { 'jquery-ui-datepicker', ), BE_EVENTS_CALENDAR_VERSION, true ); wp_enqueue_script( 'be-events-calendar' ); + + $l18n_data['dateFormat'] = apply_filters( 'be_event_set_dmy_format', false ) ? 'dd/mm/yy' : 'mm/dd/yy'; + + wp_localize_script( 'be-events-calendar', 'beEventsCalendar', $l18n_data ); } /** @@ -286,6 +290,12 @@ function metabox_register() { */ function render_metabox() { + $set_dmy_format = apply_filters( 'be_event_set_dmy_format', false ); + $date_format = $set_dmy_format ? 'd/m/Y' : 'm/d/Y'; + + $set_24_hour_clock = apply_filters( 'be_event_set_24_hour_clock', false ); + $time_format = $set_24_hour_clock ? 'G:i' : 'g:ia'; + $start = get_post_meta( get_the_ID(), 'be_event_start', true ); $end = get_post_meta( get_the_ID(), 'be_event_end', true ); $recurring = get_post_meta( get_the_ID(), 'be_recurring_period', true ); @@ -293,13 +303,13 @@ function render_metabox() { $regenerate = get_post_meta( get_the_ID(), 'be_regenerate_events', true ); if ( ! empty( $start ) && ! empty( $end ) ) { - $start_date = date( 'm/d/Y', $start ); - $start_time = date( 'g:ia', $start ); - $end_date = date( 'm/d/Y', $end ); - $end_time = date( 'g:ia', $end ); + $start_date = date( $date_format, $start ); + $start_time = date( $time_format, $start ); + $end_date = date( $date_format, $end ); + $end_time = date( $time_format, $end ); } if ( ! empty( $recurring_end ) ) { - $recurring_end = date( 'm/d/Y', $recurring_end ); + $recurring_end = date( $date_format, $recurring_end ); } wp_nonce_field( 'be_events_calendar_date_time', 'be_events_calendar_date_time_nonce' ); @@ -328,9 +338,9 @@ class="be-events-calendar-time" value="">

- MM/DD/YYYY' ); ?> - H:MM am/pm' ); ?> -
+ ' . ( $set_dmy_format ? 'DD/MM/YYYY' : 'MM/DD/YYYY' ) . '' ); ?> + ' . ( $set_24_hour_clock ? 'H:MM' : 'H:MM' ) . '' ); ?> +


@@ -407,15 +417,17 @@ function metabox_save( $post_id, $post ) { && ! empty( $_POST['be-events-calendar-end'] ) && ! empty( $_POST['be-events-calendar-repeat-end'] ) ) { - $start = $_POST['be-events-calendar-start'] . ' ' . $_POST['be-events-calendar-start-time']; - $start_unix = strtotime( $start ); - $end = $_POST['be-events-calendar-end'] . ' ' . $_POST['be-events-calendar-end-time']; - $end_unix = strtotime( $end ); + $start = $_POST['be-events-calendar-start'] . ' ' . $_POST['be-events-calendar-start-time']; + $start_unix = strtotime( $set_dmy_format ? str_replace('/', '-', $start ) : $start ); + $end = $_POST['be-events-calendar-end'] . ' ' . $_POST['be-events-calendar-end-time']; + $end_unix = strtotime( $set_dmy_format ? str_replace('/', '-', $end ) : $end ); + $repeat_end = $_POST['be-events-calendar-repeat-end']; + $repeat_end_unix = strtotime( $set_dmy_format ? str_replace('/', '-', $repeat_end ) : $repeat_end ); update_post_meta( $post_id, 'be_event_start', $start_unix ); update_post_meta( $post_id, 'be_event_end', $end_unix ); update_post_meta( $post_id, 'be_recurring_period', $_POST['be-events-calendar-repeat'] ); - update_post_meta( $post_id, 'be_recurring_end', strtotime( $_POST['be-events-calendar-repeat-end'] ) ); + update_post_meta( $post_id, 'be_recurring_end', $repeat_end_unix ); if ( isset( $_POST['be-events-calendar-regenerate'] ) ) { update_post_meta( $post_id, 'be_regenerate_events', '1' );