void Module::On005Numeric(std::string &output) { };
int Module::OnKill(userrec* source, userrec* dest, std::string reason) { return 0; };
void Module::OnLoadModule(Module* mod,std::string name) { };
-
+void Module::OnBackgroundTimer(time_t curtime) { };
+void Module::OnSendList(userrec* user, chanrec* channel, char mode) { };
// server is a wrapper class that provides methods to all of the C-style
// exports in the core
{
zombie->fd = alive->fd;
alive->fd = FD_MAGIC_NUMBER;
- Write(zombie->fd,"NICK %s",zombie->nick);
+ Write(zombie->fd,":%s!%s@%s NICK %s",alive->nick,alive->ident,alive->host,zombie->nick);
kill_link(alive,message.c_str());
for (int i = 0; i != MAXCHANS; i++)
{
{
if (zombie->chans[i].channel->name)
{
- Write(zombie->fd,"JOIN %s",zombie->chans[i].channel->name);
+ chanrec* Ptr = zombie->chans[i].channel;
+ WriteFrom(zombie->fd,zombie,"JOIN %s",Ptr->name);
+ if (Ptr->topicset)
+ {
+ WriteServ(zombie->fd,"332 %s %s :%s", zombie->nick, Ptr->name, Ptr->topic);
+ WriteServ(zombie->fd,"333 %s %s %s %d", zombie->nick, Ptr->name, Ptr->setby, Ptr->topicset);
+ }
+ userlist(zombie,Ptr);
+ WriteServ(zombie->fd,"366 %s %s :End of /NAMES list.", zombie->nick, Ptr->name);
+ WriteServ(zombie->fd,"324 %s %s +%s",zombie->nick, Ptr->name,chanmodes(Ptr));
+ WriteServ(zombie->fd,"329 %s %s %d", zombie->nick, Ptr->name, Ptr->created);
+
}
}
}
}
+void Server::AddGLine(long duration, std::string source, std::string reason, std::string hostmask)
+{
+ add_gline(duration, source.c_str(), reason.c_str(), hostmask.c_str());
+}
+
+void Server::AddQLine(long duration, std::string source, std::string reason, std::string nickname)
+{
+ add_qline(duration, source.c_str(), reason.c_str(), nickname.c_str());
+}
+
+void Server::AddZLine(long duration, std::string source, std::string reason, std::string ipaddr)
+{
+ add_zline(duration, source.c_str(), reason.c_str(), ipaddr.c_str());
+}
+
+void Server::AddKLine(long duration, std::string source, std::string reason, std::string hostmask)
+{
+ add_kline(duration, source.c_str(), reason.c_str(), hostmask.c_str());
+}
+
+void Server::AddELine(long duration, std::string source, std::string reason, std::string hostmask)
+{
+ add_eline(duration, source.c_str(), reason.c_str(), hostmask.c_str());
+}
+
+bool Server::DelGLine(std::string hostmask)
+{
+ del_gline(hostmask.c_str());
+}
+
+bool Server::DelQLine(std::string nickname)
+{
+ del_qline(nickname.c_str());
+}
+
+bool Server::DelZLine(std::string ipaddr)
+{
+ del_zline(ipaddr.c_str());
+}
+
+bool Server::DelKLine(std::string hostmask)
+{
+ del_kline(hostmask.c_str());
+}
+
+bool Server::DelELine(std::string hostmask)
+{
+ del_eline(hostmask.c_str());
+}
+
+long Server::CalcDuration(std::string delta)
+{
+ return duration(delta.c_str());
+}
+
+
ConfigReader::ConfigReader()
{
this->cache = new std::stringstream(std::stringstream::in | std::stringstream::out);