hs_del.c

Go to the documentation of this file.
00001 /* HostServ core functions
00002  *
00003  * (C) 2003-2008 Anope Team
00004  * Contact us at info@anope.org
00005  *
00006  * Please read COPYING and README for further details.
00007  *
00008  * Based on the original code of Epona by Lara.
00009  * Based on the original code of Services by Andy Church. 
00010  * 
00011  * $Id: hs_del.c 1345 2008-01-13 12:54:14Z geniusdex $
00012  *
00013  */
00014 /*************************************************************************/
00015 
00016 #include "module.h"
00017 
00018 int do_del(User * u);
00019 void myHostServHelp(User * u);
00020 
00027 int AnopeInit(int argc, char **argv)
00028 {
00029     Command *c;
00030 
00031     moduleAddAuthor("Anope");
00032     moduleAddVersion("$Id: hs_del.c 1345 2008-01-13 12:54:14Z geniusdex $");
00033     moduleSetType(CORE);
00034 
00035     c = createCommand("DEL", do_del, is_host_remover, HOST_HELP_DEL, -1,
00036                       -1, -1, -1);
00037     moduleAddCommand(HOSTSERV, c, MOD_UNIQUE);
00038 
00039     moduleSetHostHelp(myHostServHelp);
00040 
00041     return MOD_CONT;
00042 }
00043 
00047 void AnopeFini(void)
00048 {
00049 
00050 }
00051 
00052 
00053 
00058 void myHostServHelp(User * u)
00059 {
00060     if (is_host_remover(u)) {
00061         notice_lang(s_HostServ, u, HOST_HELP_CMD_DEL);
00062     }
00063 }
00064 
00070 int do_del(User * u)
00071 {
00072     NickAlias *na;
00073     char *nick = strtok(NULL, " ");
00074     if (nick) {
00075         if ((na = findnick(nick))) {
00076             if (na->status & NS_VERBOTEN) {
00077                 notice_lang(s_HostServ, u, NICK_X_FORBIDDEN, nick);
00078                 return MOD_CONT;
00079             }
00080             alog("vHost for user \002%s\002 deleted by oper \002%s\002",
00081                  nick, u->nick);
00082             delHostCore(nick);
00083             notice_lang(s_HostServ, u, HOST_DEL, nick);
00084         } else {
00085             notice_lang(s_HostServ, u, HOST_NOREG, nick);
00086         }
00087     } else {
00088         notice_lang(s_HostServ, u, HOST_DEL_SYNTAX, s_HostServ);
00089     }
00090     return MOD_CONT;
00091 }

Generated on Sun Oct 5 09:06:54 2008 for Anope by  doxygen 1.5.7.1