Skip to content

Commit ea09356

Browse files
authored
Update gpro-time-sensitive.php
1 parent 1969406 commit ea09356

File tree

1 file changed

+22
-15
lines changed

1 file changed

+22
-15
lines changed

gp-read-only/gpro-time-sensitive.php

Lines changed: 22 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -4,24 +4,31 @@
44
* https://gravitywiz.com/documentation/gravity-forms-read-only/
55
*/
66
// Update "123" to your form ID.
7-
add_filter( 'gform_pre_render_123', 'gpro_set_readonly_after_datetime' );
8-
add_filter( 'gform_pre_process_123', 'gpro_set_readonly_after_datetime' );
9-
function gpro_set_readonly_after_datetime( $form ) {
7+
// Update "4", "5", and "6" in the array to the field IDs which should be set as readonly after the given date/time.
8+
// Specify a date/time in the 24-hour format.
9+
gpro_set_readonly_after_datetime( 123, array( 4, 5, 6 ), '2022-09-09 16:00:00' );
1010

11-
// Set your desired date and time (including timezone) at which time-sensitive fields will become readonly.
12-
$datetime = '2022-09-09 14:00:00 EST';
13-
// Specify the IDs of all fields that should be marked as readonly after the above date and time.
14-
$field_ids = array( 1, 2, 3 );
11+
function gpro_set_readonly_after_datetime( $form_id, $field_ids, $datetime ) {
1512

16-
if ( new DateTime( substr( $datetime, -3, 3 ) ) < new DateTime( $datetime ) ) {
17-
return $form;
18-
}
13+
$func = function( $form ) use( $field_ids, $datetime ) {
14+
15+
$current_time = new DateTime( wp_timezone_string() );
16+
$readonly_time = new DateTime( $datetime . ' ' . wp_timezone_string() );
17+
18+
if ( $current_time < $readonly_time ) {
19+
return $form;
20+
}
1921

20-
foreach ( $form['fields'] as &$field ) {
21-
if ( in_array( $field->id, $field_ids ) ) {
22-
$field->gwreadonly_enable = true;
22+
foreach ( $form['fields'] as &$field ) {
23+
if ( in_array( $field->id, $field_ids ) ) {
24+
$field->gwreadonly_enable = true;
25+
}
2326
}
24-
}
2527

26-
return $form;
28+
return $form;
29+
};
30+
31+
add_filter( "gform_pre_render_{$form_id}", $func );
32+
add_filter( "gform_pre_process_{$form_id}", $func );
33+
2734
}

0 commit comments

Comments
 (0)