-/* cmd_neonserv_clvl.c - NeonServ v5.1
- * Copyright (C) 2011 Philipp Kreil (pk910)
+/* cmd_neonserv_clvl.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(getTextBot(), user, "NS_INVALID_ACCESS", caccess);
return;
}
- if(caccess >= getChannelAccess(user, chan, 0)) {
+ if(caccess >= getChannelAccess(user, chan)) {
if(isGodMode(user)) {
event->flags |= CMDFLAG_OPLOG;
} else {
struct UserNode *cuser = getUserByNick(argv[0]);
if(!cuser) {
cuser = createTempUser(argv[0]);
+ if(!cuser) {
+ reply(getTextBot(), user, "NS_USER_UNKNOWN", argv[0]);
+ return;
+ }
cuser->flags |= USERFLAG_ISTMPUSER;
}
if(cuser->flags & USERFLAG_ISAUTHED) {
res = mysql_use();
if ((row = mysql_fetch_row(res)) != NULL) {
//clvl
- if(atoi(row[0]) >= getChannelAccess(user, chan, 1)) {
- reply(textclient, user, "NS_USER_OUTRANKED", nick);
- return;
+ if(atoi(row[0]) >= getChannelAccess(user, chan)) {
+ if(isGodMode(user)) {
+ event->flags |= CMDFLAG_OPLOG;
+ } else {
+ reply(textclient, user, "NS_USER_OUTRANKED", nick);
+ return;
+ }
}
printf_mysql_query("UPDATE `chanusers` SET `chanuser_access` = '%d' WHERE `chanuser_id` = '%s'", caccess, row[1]);
reply(textclient, user, "NS_CLVL_DONE", nick, caccess, chan->name);