Index: branches/RC/core/units/configuration/configuration_event_handler.php =================================================================== diff -u -r10838 -r11200 --- branches/RC/core/units/configuration/configuration_event_handler.php (.../configuration_event_handler.php) (revision 10838) +++ branches/RC/core/units/configuration/configuration_event_handler.php (.../configuration_event_handler.php) (revision 11200) @@ -144,8 +144,21 @@ } } - if ($event->status == erSUCCESS) { // reset cache - $this->Application->UnitConfigReader->ResetParsedData(); + if ($event->status == erSUCCESS && $items_info) { // reset cache + $id_field = $this->Application->getUnitOption($event->Prefix, 'IDField'); + $table_name = $this->Application->getUnitOption($event->Prefix, 'TableName'); + + $sql = 'SELECT ' . $id_field . ' + FROM ' . $table_name . ' + WHERE ' . $id_field . ' IN (' . implode(',', array_keys($items_info)) . ') AND (VariableName = "AdvancedUserManagement")'; + $refresh_sections = $this->Conn->GetCol($sql); + + if ($refresh_sections) { + // reset sections too, because of AdvancedUserManagement + $event->SetRedirectParam('refresh_tree', 1); + } + + $this->Application->UnitConfigReader->ResetParsedData($refresh_sections ? true : false); } }