| 98 | | unsigned short currentNewGroup = gUserManager.NewUserGroup(); |
| 99 | | gUserManager.SetNewUserGroup(myGroup->currentGroupId()); |
| 100 | | gLicqDaemon->AddUserToList(id.toLatin1(), myProtocol->currentPpid(), |
| 101 | | myNotify->isChecked()); |
| 102 | | gUserManager.SetNewUserGroup(currentNewGroup); |
| | 101 | ICQUser* u = gUserManager.FetchUser(id, ppid, LOCK_W); |
| | 102 | |
| | 103 | if (u == NULL) |
| | 104 | { |
| | 105 | unsigned short currentNewGroup = gUserManager.NewUserGroup(); |
| | 106 | gUserManager.SetNewUserGroup(group); |
| | 107 | gLicqDaemon->AddUserToList(id, ppid, notify); |
| | 108 | gUserManager.SetNewUserGroup(currentNewGroup); |
| | 109 | } |
| | 110 | else |
| | 111 | { |
| | 112 | if (u->NotInList()) |
| | 113 | { |
| | 114 | u->SetPermanent(); |
| | 115 | gUserManager.DropUser(u); |
| | 116 | gUserManager.AddUserToGroup(id.toLatin1()); |
| | 117 | if (notify && ppid == LICQ_PPID) |
| | 118 | gLicqDaemon->icqAlertUser(id.toULong()); |
| | 119 | } |
| | 120 | else |
| | 121 | gUserManager.DropUser(u); |
| | 122 | } |