From 64cc138bc44130d8b5339494363ae0877f051265 Mon Sep 17 00:00:00 2001 From: Andrew McMillan Date: Wed, 18 Apr 2012 23:49:59 +1200 Subject: [PATCH] Handle modified which is just YYYYMMDDHHMMSS with no indication of datedness. --- inc/Principal.php | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/inc/Principal.php b/inc/Principal.php index c7c5a298..aeb25230 100644 --- a/inc/Principal.php +++ b/inc/Principal.php @@ -532,12 +532,19 @@ class Principal { $sql_params = array(); foreach( self::updateableFields() AS $k ) { if ( !isset($field_values->{$k}) && !isset($this->{$k}) ) continue; + $param_name = ':'.$k; $sql_params[$param_name] = (isset($field_values->{$k}) ? $field_values->{$k} : $this->{$k}); - if ( $k == 'default_privileges' ) { + if ( $k == 'default_privileges' ) { $sql_params[$param_name] = sprintf('%024s',$sql_params[$param_name]); $param_name = 'cast('.$param_name.' as text)::BIT(24)'; } + else if ( $k == 'modified' + && isset($field_values->{$k}) + && preg_match('{^([23]\d\d\d[01]\d[0123])T?([012]\d[0-5]\d[0-5]\d)$}', $field_values->{$k}, $matches) ) { + $sql_params[$param_name] = $matches[1] . 'T' . $matches[2]; + } + if ( $inserting ) { $param_names[] = $param_name; $insert_fields[] = $k; -- 2.11.4.GIT