-/* cmd_neonserv_kick.c - NeonServ v5.1
- * Copyright (C) 2011 Philipp Kreil (pk910)
+/* cmd_neonserv_kick.c - NeonServ v5.3
+ * Copyright (C) 2011-2012 Philipp Kreil (pk910)
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
reply(textclient, user, "NS_SERVICE_IMMUNE", chanuser->user->nick);
continue;
}
+ if(cuser == user || ((cuser->flags & USERFLAG_ISAUTHED) && !stricmp(user->auth, cuser->auth))) {
+ reply(textclient, user, "NS_YOU_PROTECTED");
+ continue;
+ }
if(isUserProtected(chan, cuser, user)) {
reply(textclient, user, "NS_USER_PROTECTED", cuser->nick);
continue;
}
for(i = 0; i < kick_chanuser_pos; i++) {
kicked_users++;
- putsock(client, "KICK %s %s :%s", chan->name, kick_chanuser[i]->user->nick, reason);
+ putsock(client, "KICK %s %s :(%s) %s", chan->name, kick_chanuser[i]->user->nick, user->nick, reason);
}
} else if(*nick == '*') {
//KICK AUTH
nick++;
cuser = NULL;
+ if(!stricmp(user->auth, nick)) {
+ reply(textclient, user, "NS_YOU_PROTECTED");
+ continue;
+ }
for(chanuser = getChannelUsers(chan, NULL); chanuser; chanuser = getChannelUsers(chan, chanuser)) {
if((chanuser->user->flags & USERFLAG_ISAUTHED) && !stricmp(chanuser->user->auth, nick)) {
provided_nicks++;
reply(textclient, user, "NS_SERVICE_IMMUNE", cuser->nick);
continue;
}
+ if(cuser == user || ((cuser->flags & USERFLAG_ISAUTHED) && !stricmp(user->auth, cuser->auth))) {
+ reply(textclient, user, "NS_YOU_PROTECTED");
+ continue;
+ }
if(isUserProtected(chan, cuser, user)) {
reply(textclient, user, "NS_USER_PROTECTED", cuser->nick);
continue;