Index: kernel/db/cat_dbitem.php =================================================================== --- kernel/db/cat_dbitem.php (revision 13152) +++ kernel/db/cat_dbitem.php (working copy) @@ -101,10 +101,14 @@ function Update($id=null, $system_update=false) { $this->VirtualFields['ResourceId'] = Array(); - $this->SetDBField('Modified', adodb_mktime() ); - $this->UpdateFormattersSubFields(array('Modified')); - $this->SetDBField('ModifiedById', $this->Application->RecallVar('user_id')); + if ($this->GetChangedFields()) { + $now = adodb_mktime(); + $this->SetDBField('Modified_date', $now); + $this->SetDBField('Modified_time', $now); + $this->SetDBField('ModifiedById', $this->Application->RecallVar('user_id')); + } + if ($this->useFilenames) { $this->checkFilename(); $this->generateFilename(); Index: units/categories/categories_event_handler.php =================================================================== --- units/categories/categories_event_handler.php (revision 13168) +++ units/categories/categories_event_handler.php (working copy) @@ -1301,7 +1301,9 @@ $object =& $event->getObject(); /* @var $object kDBItem */ - $object->SetDBField('ModifiedById', $this->Application->RecallVar('user_id')); + if ($object->GetChangedFields()) { + $object->SetDBField('ModifiedById', $this->Application->RecallVar('user_id')); + } $this->_beforeItemChange($event); } @@ -1553,8 +1555,10 @@ $now = adodb_mktime(); - $object->SetDBField('Modified_date', $now); - $object->SetDBField('Modified_time', $now); + if ($object->GetChangedFields()) { + $object->SetDBField('Modified_date', $now); + $object->SetDBField('Modified_time', $now); + } $object->setRequired('PageCacheKey', $object->GetDBField('OverridePageCacheKey')); $object->SetDBField('Template', $this->_stripTemplateExtension( $object->GetDBField('Template') )); Index: units/modules/modules_event_handler.php =================================================================== --- units/modules/modules_event_handler.php (revision 13152) +++ units/modules/modules_event_handler.php (working copy) @@ -84,13 +84,13 @@ } $object->Load($id); - $object->SetDBField($status_field, $event->Name == 'OnMassApprove' ? 1 : 0); + $updated = $object->Update(); - if ($object->Update()) { + if ($updated) { $sql = 'UPDATE ' . TABLE_PREFIX . 'ImportScripts - SET Status = ' . ($event->Name == 'OnMassApprove' ? STATUS_ACTIVE : STATUS_DISABLED) . ' - WHERE Module = "' . $object->GetDBField('Name') . '"'; + SET Status = ' . ($event->Name == 'OnMassApprove' ? STATUS_ACTIVE : STATUS_DISABLED) . ' + WHERE Module = "' . $object->GetDBField('Name') . '"'; $this->Conn->Query($sql); $event->status = erSUCCESS;