void chanrec::AddUser(userrec* user)
{
- internal_userlist[user] = user;
+ internal_userlist[user] = user->nick;
}
unsigned long chanrec::DelUser(userrec* user)
void chanrec::AddOppedUser(userrec* user)
{
- internal_op_userlist[user] = user;
+ internal_op_userlist[user] = user->nick;
}
void chanrec::DelOppedUser(userrec* user)
void chanrec::AddHalfoppedUser(userrec* user)
{
- internal_halfop_userlist[user] = user;
+ internal_halfop_userlist[user] = user->nick;
}
void chanrec::DelHalfoppedUser(userrec* user)
void chanrec::AddVoicedUser(userrec* user)
{
- internal_voice_userlist[user] = user;
+ internal_voice_userlist[user] = user->nick;
}
void chanrec::DelVoicedUser(userrec* user)
Ptr->modes[CM_TOPICLOCK] = Ptr->modes[CM_NOEXTERNAL] = 1;
Ptr->created = TS ? TS : Instance->Time();
+ Ptr->age = Ptr->created;
*Ptr->topic = 0;
*Ptr->setby = 0;
Ptr->topicset = 0;
for (CUList::iterator i = ulist->begin(); i != ulist->end(); i++)
{
- if (IS_LOCAL(i->second))
- i->second->Write(out);
+ if (IS_LOCAL(i->first))
+ i->first->Write(out);
}
}
for (CUList::iterator i = ulist->begin(); i != ulist->end(); i++)
{
- if (IS_LOCAL(i->second))
- i->second->Write(out);
+ if (IS_LOCAL(i->first))
+ i->first->Write(out);
}
}
for (CUList::iterator i = ulist->begin(); i != ulist->end(); i++)
{
- if ((IS_LOCAL(i->second)) && (except_list.find(i->second) == except_list.end()))
+ if ((IS_LOCAL(i->first)) && (except_list.find(i->first) == except_list.end()))
{
if (serversource)
- i->second->WriteServ(text);
+ i->first->WriteServ(text);
else
- i->second->Write(out);
+ i->first->Write(out);
}
}
}
void chanrec::WriteAllExceptSender(userrec* user, bool serversource, char status, const std::string& text)
{
CUList except_list;
- except_list[user] = user;
+ except_list[user] = user->nick;
this->WriteAllExcept(user, serversource, status, except_list, std::string(text));
}
CUList *ulist= this->GetUsers();
for (CUList::iterator i = ulist->begin(); i != ulist->end(); i++)
{
- if (!(i->second->modes[UM_INVISIBLE]))
+ if (!(i->first->IsModeSet('i')))
count++;
}
char* ptr = list + dlen;
if (!ulist)
- ulist= this->GetUsers();
+ ulist = this->GetUsers();
/* Improvement by Brain - this doesnt change in value, so why was it inside
* the loop?
for (CUList::iterator i = ulist->begin(); i != ulist->end(); i++)
{
- if ((!has_user) && (i->second->modes[UM_INVISIBLE]))
+ if ((!has_user) && (i->first->modes[UM_INVISIBLE]))
{
/*
* user is +i, and source not on the channel, does not show
continue;
}
- if (i->second->Visibility && !i->second->Visibility->VisibleTo(user))
+ if (i->first->Visibility && !i->first->Visibility->VisibleTo(user))
continue;
- size_t ptrlen = snprintf(ptr, MAXBUF, "%s%s ", this->GetPrefixChar(i->second), i->second->nick);
+ size_t ptrlen = snprintf(ptr, MAXBUF, "%s%s ", this->GetPrefixChar(i->first), i->second.c_str());
+ /* OnUserList can change this - reset it back to normal */
+ i->second = i->first->nick;
curlen += ptrlen;
ptr += ptrlen;