diff --git a/infolog/inc/class.infolog_bo.inc.php b/infolog/inc/class.infolog_bo.inc.php index 37c4af5c62..d5153595cd 100644 --- a/infolog/inc/class.infolog_bo.inc.php +++ b/infolog/inc/class.infolog_bo.inc.php @@ -704,7 +704,8 @@ class infolog_bo ); } $values['info_id'] = $info_id; - + // if the info responbsible array is not passed, fetch it from old. + if (!array_key_exists('info_responsible',$values)) $values['info_responsible'] = $old['info_responsible']; if (!is_array($values['info_responsible'])) // this should not happen, bug it does ;-) { $values['info_responsible'] = $values['info_responsible'] ? explode(',',$values['info_responsible']) : array(); @@ -723,6 +724,11 @@ class infolog_bo { $this->tracking = new infolog_tracking($this); } + + if (($missing_fields = array_diff_key($old,$values))) + { + $values = array_merge($values,$missing_fields); + } $this->tracking->track($values,$old,$this->user,$values['info_status'] == 'deleted' || $old['info_status'] == 'deleted'); } if ($info_from_set) $values['info_from'] = ''; diff --git a/infolog/inc/class.infolog_tracking.inc.php b/infolog/inc/class.infolog_tracking.inc.php index 16d21a0256..ad7fd48fa4 100644 --- a/infolog/inc/class.infolog_tracking.inc.php +++ b/infolog/inc/class.infolog_tracking.inc.php @@ -208,7 +208,7 @@ class infolog_tracking extends bo_tracking 'info_owner' => $GLOBALS['egw']->common->grab_owner_name($data['info_owner']), 'info_status' => lang($data['info_status']=='deleted'?'deleted':$this->infolog->status[$data['info_type']][$data['info_status']]), 'info_percent' => (int)$data['info_percent'].'%', - 'info_datecompleted' => $data['info_datecomplete'] ? $this->datetime($data['info_datecompleted']-$this->infolog->tz_offset_s) : '', + 'info_datecompleted' => $data['info_datecompleted'] ? $this->datetime($data['info_datecompleted']-$this->infolog->tz_offset_s) : '', 'info_location' => $data['info_location'], 'info_startdate' => $data['info_startdate'] ? $this->datetime($data['info_startdate']-$this->infolog->tz_offset_s,null) : '', 'info_enddate' => $data['info_enddate'] ? $this->datetime($data['info_enddate']-$this->infolog->tz_offset_s,false) : '', @@ -272,4 +272,4 @@ class infolog_tracking extends bo_tracking return parent::save_history($data,$old); } -} \ No newline at end of file +}