added bans & kicks to cmd_addban
authorpk910 <philipp@zoelle1.de>
Thu, 8 Sep 2011 23:41:39 +0000 (01:41 +0200)
committerpk910 <philipp@zoelle1.de>
Thu, 8 Sep 2011 23:42:05 +0000 (01:42 +0200)
cmd_neonserv_addban.c

index 1e476ef0976a0c7c8d16b78b249711ec2c3eb092..858aee4e59c55ca2d774ded62863044b918986ca 100644 (file)
@@ -92,5 +92,13 @@ static void neonserv_cmd_addban_async1(struct ClientSocket *client, struct Clien
         return;
     //add the ban
     printf_mysql_query("INSERT INTO `bans` (`ban_channel`, `ban_mask`, `ban_triggered`, `ban_owner`, `ban_reason`) VALUES ('%d', '%s', UNIX_TIMESTAMP(), '%d', '%s')", chan->channel_id, escape_string(mask), userid, escape_string(reason));
-    reply(getTextBot(), user, "NS_ADDBAN_DONE", mask, chan->name, match_count);
+    putsock(client, "MODE %s +b %s", chan->name, mask);
+    for(chanuser = getChannelUsers(chan, NULL); chanuser; chanuser = getChannelUsers(chan, chanuser)) {
+        cuser = chanuser->user;
+        sprintf(usermask, "%s!%s@%s", cuser->nick, cuser->ident, cuser->host);
+        if(!match(mask, usermask)) {
+            putsock(client, "KICK %s %s :%s", chan->name, cuser->nick, reason);
+        }
+    }
+    reply(textclient, user, "NS_ADDBAN_DONE", mask, chan->name, match_count);
 }