Changeset 6317
- Timestamp:
- 06/16/08 10:52:27 (6 months ago)
- Files:
-
- 1 modified
-
trunk/licq/src/icqd-srv.cpp (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/licq/src/icqd-srv.cpp
r6314 r6317 271 271 unsigned short _nNewType, unsigned short _nOldType) 272 272 { 273 if (!UseServerContactList()) return; 273 if (!UseServerContactList()) 274 return; 275 276 if (_nNewGroup == 0) 277 { 278 gLog.Warn(tr("%sProtocol prohibits for users to be in the root group.\n" 279 "%sAborting group change attempt for %s.\n"), 280 L_SRVxSTR, L_BLANKxSTR, _szId); 281 return; 282 } 274 283 275 284 // Get their old SID 276 ICQUser *u = gUserManager.FetchUser(_szId, _nPPID, LOCK_R); 285 ICQUser* u = gUserManager.FetchUser(_szId, _nPPID, LOCK_R); 286 char* alias = u->GetAlias(); 277 287 int nSID = u->GetSID(); 278 288 gUserManager.DropUser(u); 279 289 280 gLog.Info(tr("%sChanging group on server list for %s ...\n"), L_SRVxSTR, _szId); 290 gLog.Info(tr("%sChanging group on server list for %s (%s)...\n"), 291 L_SRVxSTR, alias, _szId); 281 292 282 293 // Start transaction 283 CSrvPacketTcp *pStart = new CPU_GenericFamily(ICQ_SNACxFAM_LIST,284 ICQ_SNACxLIST_ROSTxEDITxSTART);294 CSrvPacketTcp* pStart = 295 new CPU_GenericFamily(ICQ_SNACxFAM_LIST, ICQ_SNACxLIST_ROSTxEDITxSTART); 285 296 SendEvent_Server(pStart); 286 297 287 298 // Delete the user 288 CSrvPacketTcp *pRemove = new CPU_RemoveFromServerList(_szId, _nOldGSID, 289 nSID, _nOldType); 290 addToModifyUsers(pRemove->SubSequence(), _szId); 291 SendExpectEvent_Server(pRemove, NULL); 299 if (_nOldGSID != 0) 300 { 301 // Don't attempt removing users from the root group, they can't be there 302 CSrvPacketTcp* pRemove = 303 new CPU_RemoveFromServerList(_szId, _nOldGSID, nSID, _nOldType); 304 addToModifyUsers(pRemove->SubSequence(), _szId); 305 SendExpectEvent_Server(pRemove, NULL); 306 } 292 307 293 308 // Add the user, with the new group 294 CPU_AddToServerList *pAdd = new CPU_AddToServerList(_szId, _nNewType,295 _nNewGroup);309 CPU_AddToServerList* pAdd = 310 new CPU_AddToServerList(_szId, _nNewType, _nNewGroup); 296 311 addToModifyUsers(pAdd->SubSequence(), _szId); 297 312 SendExpectEvent_Server(pAdd, NULL); 298 299 313 } 300 314
