+ if (in_array('L', $upvals)) {
+ // for at least one value, we need to set the same as the last recorded value
+ $fvals = $this->fetch();
+ $rowids = array_shift($fvals);
+ $lastvals = array_shift($fvals);
+ foreach (array_keys($upvals, 'L') as $akey) {
+ $upvals[$akey] = $lastvals[$rowids[$akey]];
+ }
+ }
+ $walkfunc = create_function('&$val,$key', '$val = is_numeric(trim($val))?trim($val):"U";');
+ array_walk($upvals, $walkfunc);