Index: trunk/kernel/include/portaluser.php =================================================================== diff -u -N -r1462 -r2519 --- trunk/kernel/include/portaluser.php (.../portaluser.php) (revision 1462) +++ trunk/kernel/include/portaluser.php (.../portaluser.php) (revision 2519) @@ -1003,7 +1003,7 @@ $rs = $this->adodbConnection->Execute($sql); //echo $sql."
"; - + $item_ids = Array(); while($rs && !$rs->EOF) { $data = $rs->fields; @@ -1021,12 +1021,17 @@ $this->adodbConnection->Execute($sql); } else - $c->Update(); + { + $c->Update(); + } + $item_ids[] = $c->UniqueId(); + unset($c); $rs->MoveNext(); } @$this->adodbConnection->Execute("DROP TABLE IF EXISTS $edit_table"); unset($GLOBALS['_CopyFromEditTable']); + return $item_ids; } function PurgeEditTable() Index: trunk/kernel/action.php =================================================================== diff -u -N -r2514 -r2519 --- trunk/kernel/action.php (.../action.php) (revision 2514) +++ trunk/kernel/action.php (.../action.php) (revision 2519) @@ -2455,8 +2455,16 @@ { $objUserGroupsList = new clsUserGroupList(); $objUserGroupsList->CopyFromEditTable("PortalUserId"); - $objUsers->CopyFromEditTable("PortalUserId"); - $objCustomDataList->CopyFromEditTable("CustomDataId"); + + $user_ids = $objUsers->CopyFromEditTable("PortalUserId"); + if($user_ids) + { + $db =& GetADODBConnection(); + $sql = 'SELECT ResourceId FROM '.$objUsers->SourceTable.' WHERE PortalUserId IN ('.implode(',', $user_ids).')'; + $rids = $db->GetCol($sql); + $objCustomDataList->CopyFromEditTable("CustomDataId", $rids); + } + $objGroups->Clear(); $objImages = new clsImageList(); $objImages->CopyFromEditTable("ImageId");