/** * merge record / skip if no diff * * @param Tinebase_Record_Abstract $updateRecord * @param Tinebase_Record_Abstract $mergeRecord * @return Tinebase_Record_Abstract */ protected function _mergeRecord($updateRecord, $mergeRecord) { $omitFields = array('creation_time', 'created_by', 'last_modified_time', 'last_modified_by', 'seq', 'id'); $diff = $updateRecord->diff($mergeRecord, $omitFields); if (!$diff || $diff->isEmpty()) { if (Tinebase_Core::isLogLevel(Zend_Log::DEBUG)) { Tinebase_Core::getLogger()->debug(__METHOD__ . '::' . __LINE__ . ' Records are identical, no need to update'); } return null; } else { if (Tinebase_Core::isLogLevel(Zend_Log::TRACE)) { Tinebase_Core::getLogger()->trace(__METHOD__ . '::' . __LINE__ . ' Got diff: ' . print_r($diff->diff, TRUE)); } } return $updateRecord->merge($mergeRecord, $diff); }