00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #include "module.h"
00017
00018 int do_delall(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_delall.c 1265 2007-08-26 15:33:06Z geniusdex $");
00033 moduleSetType(CORE);
00034
00035 c = createCommand("DELALL", do_delall, is_host_remover,
00036 HOST_HELP_DELALL, -1, -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_DELALL);
00062 }
00063 }
00064
00070 int do_delall(User * u)
00071 {
00072 int i;
00073 char *nick = strtok(NULL, " ");
00074 NickAlias *na;
00075 NickCore *nc;
00076 if (!nick) {
00077 notice_lang(s_HostServ, u, HOST_DELALL_SYNTAX, s_HostServ);
00078 return MOD_CONT;
00079 }
00080 if ((na = findnick(nick))) {
00081 if (na->status & NS_VERBOTEN) {
00082 notice_lang(s_HostServ, u, NICK_X_FORBIDDEN, nick);
00083 return MOD_CONT;
00084 }
00085 nc = na->nc;
00086 for (i = 0; i < nc->aliases.count; i++) {
00087 na = nc->aliases.list[i];
00088 delHostCore(na->nick);
00089 }
00090 alog("vHosts for all nicks in group \002%s\002 deleted by oper \002%s\002", nc->display, u->nick);
00091 notice_lang(s_HostServ, u, HOST_DELALL, nc->display);
00092 } else {
00093 notice_lang(s_HostServ, u, HOST_NOREG, nick);
00094 }
00095 return MOD_CONT;
00096 }