From a4ddc7a6c9c7347b51e0d5853f3f0fe826ade497 Mon Sep 17 00:00:00 2001 From: Andrew McMillan Date: Sat, 26 Nov 2011 17:27:13 +1300 Subject: [PATCH] Another small fix for BIT24 casting for the LDAP driver... --- inc/Principal.php | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/inc/Principal.php b/inc/Principal.php index c1cb77d1..46a43e58 100644 --- a/inc/Principal.php +++ b/inc/Principal.php @@ -533,12 +533,18 @@ class Principal { foreach( self::updateableFields() AS $k ) { if ( !isset($field_values->{$k}) && !isset($this->{$k}) ) continue; if ( $inserting ) { + $param_names[] = ':'.$k; $insert_fields[] = $k; - $param_names[] = ':'.$k . ($k == 'default_privileges' ? '::BIT(24)' : ''); } else { - $update_list[] = $k.'=:'.($k == 'default_privileges' ? '::BIT(24)' : ''); + if ($k == 'default_privileges') { + $update_list[] = $k.'=cast(:'.$k.' as text)::BIT(24)'; + } + else { + $update_list[] = $k.'=:'.$k; + } } + $sql_params[':'.$k] = (isset($field_values->{$k}) ? $field_values->{$k} : $this->{$k}); }