]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_cban.cpp
Move Blocking/NonBlocking to socket.cpp and make inline
[user/henk/code/inspircd.git] / src / modules / m_cban.cpp
index 57bb9490a20c73749d069e73edea7ebad954252d..3313b47f5815e9d235e40e7761000fc09d7e1f94 100644 (file)
@@ -66,6 +66,7 @@ class cmd_cban : public command_t
        {
                this->source = "m_cban.so";
                this->Srv = Me;
+               syntax = "<channel> [<duration> :<reason>]";
        }
 
        void Handle(const char** parameters, int pcnt, userrec *user)
@@ -83,7 +84,7 @@ class cmd_cban : public command_t
                                if (parameters[0] == iter->chname)
                                {
                                        unsigned long remaining = (iter->set_on + iter->length) - TIME;
-                                       WriteServ(user->fd, "386 %s %s :Removed CBAN with %lu seconds left before expiry (%s)", user->nick, iter->chname.c_str(), remaining, iter->reason.c_str());
+                                       user->WriteServ( "386 %s %s :Removed CBAN with %lu seconds left before expiry (%s)", user->nick, iter->chname.c_str(), remaining, iter->reason.c_str());
                                        cbans.erase(iter);
                                        break;
                                }
@@ -106,18 +107,18 @@ class cmd_cban : public command_t
                                
                                if(length > 0)
                                {
-                                       WriteServ(user->fd, "385 %s %s :Added %lu second channel ban (%s)", user->nick, parameters[0], length, reason.c_str());
+                                       user->WriteServ( "385 %s %s :Added %lu second channel ban (%s)", user->nick, parameters[0], length, reason.c_str());
                                        WriteOpers("*** %s added %lu second channel ban on %s (%s)", user->nick, length, parameters[0], reason.c_str());
                                }
                                else
                                {
-                                       WriteServ(user->fd, "385 %s %s :Added permenant channel ban (%s)", user->nick, parameters[0], reason.c_str());
+                                       user->WriteServ( "385 %s %s :Added permenant channel ban (%s)", user->nick, parameters[0], reason.c_str());
                                        WriteOpers("*** %s added permenant channel ban on %s (%s)", user->nick, parameters[0], reason.c_str());
                                }
                        }
                        else
                        {
-                               WriteServ(user->fd, "403 %s %s :Invalid channel name", user->nick, parameters[0]);
+                               user->WriteServ( "403 %s %s :Invalid channel name", user->nick, parameters[0]);
                        }
                }
        }
@@ -141,7 +142,7 @@ class ModuleCBan : public Module
                List[I_OnUserPreJoin] = List[I_OnSyncOtherMetaData] = List[I_OnDecodeMetaData] = List[I_OnStats] = 1;
        }
        
-       virtual int OnStats(char symbol, userrec* user)
+       virtual int OnStats(char symbol, userrec* user, string_list &results)
        {
                ExpireBans();
        
@@ -150,7 +151,7 @@ class ModuleCBan : public Module
                        for(cbanlist::iterator iter = cbans.begin(); iter != cbans.end(); iter++)
                        {
                                unsigned long remaining = (iter->set_on + iter->length) - TIME;
-                               WriteServ(user->fd, "210 %s %s %s %lu %lu %lu :%s", user->nick, iter->chname.c_str(), iter->set_by.c_str(), iter->set_on, iter->length, remaining, iter->reason.c_str());
+                               results.push_back(Srv->GetServerName()+" 210 "+user->nick+" "+iter->chname.c_str()+" "+iter->set_by+" "+ConvToStr(iter->set_on)+" "+ConvToStr(iter->length)+" "+ConvToStr(remaining)+" :"+iter->reason);
                        }
                }
                
@@ -167,7 +168,7 @@ class ModuleCBan : public Module
                        if(iter->chname == cname && !user->modes[UM_OPERATOR])
                        {
                                // Channel is banned.
-                               WriteServ(user->fd, "384 %s %s :Cannot join channel, CBANed (%s)", user->nick, cname, iter->reason.c_str());
+                               user->WriteServ( "384 %s %s :Cannot join channel, CBANed (%s)", user->nick, cname, iter->reason.c_str());
                                WriteOpers("*** %s tried to join %s which is CBANed (%s)", user->nick, cname, iter->reason.c_str());
                                return 1;
                        }