--- event.module.orig 2008-07-16 11:55:26.000000000 -0500 +++ event.module 2008-08-06 02:42:22.828125000 -0500 @@ -1594,6 +1594,20 @@ 'ampm' => event_format_date($date, 'custom', 'a'), ); } + + /** + * Handle 12/24 hour conversion. There's probably a better place (and a better way) to do this, + * but it gets the module to work for now... + */ + if (variable_get('event_ampm', 0)) { + if ($element['#value']['hour'] > 12) { + $element['#value']['hour'] -= 12; + $element['#value']['hour'] = str_pad($element['#value']['hour'], 2, '0', STR_PAD_LEFT); + $element['#value']['ampm'] = 'pm'; + } elseif ($element['#value']['hour'] == 0) { + $element['#value']['hour'] = 12; + } + } $element['#tree'] = TRUE; @@ -1630,16 +1644,25 @@ case 'hour': $form_type = 'select'; if (variable_get('event_ampm', 0)) { - for ($i = 0; $i <= 12; $i++) $options["$i"] = $i < 10 ? "0$i" : "$i"; + for ($i = 1; $i <= 12; $i++) { + $j = $i < 10 ? "0$i" : "$i"; + $options["$j"] = $j; + } } else { - for ($i = 0; $i <= 23; $i++) $options["$i"] = ($i < 10) ? "0$i" : "$i"; + for ($i = 0; $i <= 23; $i++) { + $j = $i < 10 ? "0$i" : "$i"; + $options["$j"] = $j; + } } asort($options); break; case 'minute': $form_type = 'select'; - for ($i = 0; $i <= 59; $i++) $options["$i"] = ($i < 10) ? "0$i" : "$i"; + for ($i = 0; $i <= 59; $i++) { + $j = $i < 10 ? "0$i" : "$i"; + $options["$j"] = $j; + } asort($options); break; case 'ampm':