Index: kernel/db/db_event_handler.php =================================================================== --- kernel/db/db_event_handler.php (revision 13377) +++ kernel/db/db_event_handler.php (working copy) @@ -1611,6 +1611,9 @@ foreach ($rec['DependentFields'] as $field_name => $field_value) { // will be "ci|ItemResourceId:345" $to_increment[] = $rec['Prefix'] . '|' . $field_name . ':' . $field_value; + + // also reset sub-item prefix general serial + $to_increment[] = $rec['Prefix']; } unset($changes[$index]['DependentFields']); @@ -1624,6 +1627,10 @@ $to_increment[] = $change['MasterPrefix'] . '|' . $change['MasterId']; if ($change['MasterPrefix'] != $change['Prefix']) { + // also reset sub-item prefix general serial + $to_increment[] = $change['Prefix']; + + // will be "ci|ItemResourceId" $to_increment[] = $change['Prefix'] . '|' . $change['ItemId']; } } @@ -1633,9 +1640,13 @@ $this->Application->incrementCacheSerial($this->Prefix); foreach ($to_increment as $to_increment_mixed) { - list ($to_increment_prefix, $to_increment_id) = explode('|', $to_increment_mixed, 2); - - $this->Application->incrementCacheSerial($to_increment_prefix, $to_increment_id); + if (strpos($to_increment_mixed, '|') !== false) { + list ($to_increment_prefix, $to_increment_id) = explode('|', $to_increment_mixed, 2); + $this->Application->incrementCacheSerial($to_increment_prefix, $to_increment_id); + } + else { + $this->Application->incrementCacheSerial($to_increment_mixed); + } } // save changes to database