char protection;
loadChannelSettings(chan);
if(!(chan->flags & CHANFLAG_CHAN_REGISTERED)) return 0;
- printf_mysql_query("SELECT `channel_protect` FROM `channels` WHERE `channel_id` = '%d'");
+ printf_mysql_query("SELECT `channel_protect` FROM `channels` WHERE `channel_id` = '%d'", chan->channel_id);
res = mysql_use();
if(!(row = mysql_fetch_row(res))) return 0;
if(row[0]) {
protection = (char) atoi(row[0]);
} else {
- printf_mysql_query("SELECT `channel_protect` FROM `channels` WHERE `channel_name` = 'defaults'", chan->channel_id);
+ printf_mysql_query("SELECT `channel_protect` FROM `channels` WHERE `channel_name` = 'defaults'");
res = mysql_use();
row = mysql_fetch_row(res);
protection = (char) atoi(row[0]);
register_command(BOTID, "deop", neonserv_cmd_deop, 1, CMDFLAG_REQUIRE_CHAN | CMDFLAG_REGISTERED_CHAN | CMDFLAG_REQUIRE_AUTH | CMDFLAG_CHECK_AUTH);
register_command(BOTID, "voice", neonserv_cmd_voice, 1, CMDFLAG_REQUIRE_CHAN | CMDFLAG_REGISTERED_CHAN | CMDFLAG_REQUIRE_AUTH | CMDFLAG_CHECK_AUTH);
register_command(BOTID, "devoice", neonserv_cmd_devoice, 1, CMDFLAG_REQUIRE_CHAN | CMDFLAG_REGISTERED_CHAN | CMDFLAG_REQUIRE_AUTH | CMDFLAG_CHECK_AUTH);
- register_command(BOTID, "opall", neonserv_cmd_opall, 1, CMDFLAG_REQUIRE_CHAN | CMDFLAG_REGISTERED_CHAN | CMDFLAG_REQUIRE_AUTH | CMDFLAG_CHECK_AUTH);
- register_command(BOTID, "deopall", neonserv_cmd_deopall, 1, CMDFLAG_REQUIRE_CHAN | CMDFLAG_REGISTERED_CHAN | CMDFLAG_REQUIRE_AUTH | CMDFLAG_CHECK_AUTH);
- register_command(BOTID, "voiceall", neonserv_cmd_voiceall, 1, CMDFLAG_REQUIRE_CHAN | CMDFLAG_REGISTERED_CHAN | CMDFLAG_REQUIRE_AUTH | CMDFLAG_CHECK_AUTH);
- register_command(BOTID, "devoiceall", neonserv_cmd_devoiceall, 1, CMDFLAG_REQUIRE_CHAN | CMDFLAG_REGISTERED_CHAN | CMDFLAG_REQUIRE_AUTH | CMDFLAG_CHECK_AUTH);
+ register_command(BOTID, "opall", neonserv_cmd_opall, 0, CMDFLAG_REQUIRE_CHAN | CMDFLAG_REGISTERED_CHAN | CMDFLAG_REQUIRE_AUTH | CMDFLAG_CHECK_AUTH);
+ register_command(BOTID, "deopall", neonserv_cmd_deopall, 0, CMDFLAG_REQUIRE_CHAN | CMDFLAG_REGISTERED_CHAN | CMDFLAG_REQUIRE_AUTH | CMDFLAG_CHECK_AUTH);
+ register_command(BOTID, "voiceall", neonserv_cmd_voiceall, 0, CMDFLAG_REQUIRE_CHAN | CMDFLAG_REGISTERED_CHAN | CMDFLAG_REQUIRE_AUTH | CMDFLAG_CHECK_AUTH);
+ register_command(BOTID, "devoiceall", neonserv_cmd_devoiceall, 0, CMDFLAG_REQUIRE_CHAN | CMDFLAG_REGISTERED_CHAN | CMDFLAG_REQUIRE_AUTH | CMDFLAG_CHECK_AUTH);
start_bots();
bind_bot_ready(neonserv_bot_ready);
*/
static CMD_BIND(neonserv_cmd_deop) {
- int i, done_users;
+ int i, done_users = 0;
struct UserNode *cuser;
struct ChanUser *chanuser;
struct ModeBuffer *modeBuf;
*/
static CMD_BIND(neonserv_cmd_deopall) {
- int i, issuer_access, user_access, done_users;
+ int issuer_access, victim_access, done_users = 0;
char *nickmask = NULL;
- struct UserNode *cuser;
struct ChanUser *chanuser;
struct ModeBuffer *modeBuf;
check_mysql();
victim_access = getChannelAccess(user, chan, 0);
if(victim_access >= issuer_access) continue;
if(!(chanuser->flags & CHANUSERFLAG_OPPED)) continue;
- modeBufferDeop(modeBuf, argv[i]);
+ modeBufferDeop(modeBuf, chanuser->user->nick);
done_users++;
}
freeModeBuffer(modeBuf);
*/
static CMD_BIND(neonserv_cmd_devoice) {
- int i, done_users;
+ int i, done_users = 0;
struct UserNode *cuser;
struct ChanUser *chanuser;
struct ModeBuffer *modeBuf;
*/
static CMD_BIND(neonserv_cmd_devoiceall) {
- int i, issuer_access, user_access, done_users;
+ int issuer_access, victim_access, done_users = 0;
char *nickmask = NULL;
- struct UserNode *cuser;
struct ChanUser *chanuser;
struct ModeBuffer *modeBuf;
check_mysql();
victim_access = getChannelAccess(user, chan, 0);
if(victim_access >= issuer_access) continue;
if(!(chanuser->flags & CHANUSERFLAG_VOICED)) continue;
- modeBufferDevoice(modeBuf, argv[i]);
+ modeBufferDevoice(modeBuf, chanuser->user->nick);
done_users++;
}
freeModeBuffer(modeBuf);
*/
static CMD_BIND(neonserv_cmd_op) {
- int i, done_users;
+ int i, done_users = 0;
struct UserNode *cuser;
struct ChanUser *chanuser;
struct ModeBuffer *modeBuf;
*/
static CMD_BIND(neonserv_cmd_opall) {
- int i, done_users;
+ int done_users = 0;
char *nickmask = NULL;
- struct UserNode *cuser;
struct ChanUser *chanuser;
struct ModeBuffer *modeBuf;
check_mysql();
for(chanuser = getChannelUsers(chan, NULL); chanuser; chanuser = getChannelUsers(chan, chanuser)) {
if(nickmask && match(nickmask, chanuser->user->nick)) continue;
if(chanuser->flags & CHANUSERFLAG_OPPED) continue;
- modeBufferOp(modeBuf, argv[i]);
+ modeBufferOp(modeBuf, chanuser->user->nick);
done_users++;
}
freeModeBuffer(modeBuf);
*/
static CMD_BIND(neonserv_cmd_voice) {
- int i, done_users;
+ int i, done_users = 0;
struct UserNode *cuser;
struct ChanUser *chanuser;
struct ModeBuffer *modeBuf;
*/
static CMD_BIND(neonserv_cmd_voiceall) {
- int i, done_users;
+ int done_users = 0;
char *nickmask = NULL;
- struct UserNode *cuser;
struct ChanUser *chanuser;
struct ModeBuffer *modeBuf;
check_mysql();
for(chanuser = getChannelUsers(chan, NULL); chanuser; chanuser = getChannelUsers(chan, chanuser)) {
if(nickmask && match(nickmask, chanuser->user->nick)) continue;
if(chanuser->flags & CHANUSERFLAG_VOICED) continue;
- modeBufferVoice(modeBuf, argv[i]);
+ modeBufferVoice(modeBuf, chanuser->user->nick);
done_users++;
}
freeModeBuffer(modeBuf);
#include "tools.h"
#include "UserNode.h"
+#include "ChanNode.h"
#include "lang.h"
+#include "ClientSocket.h"
static const struct default_language_entry msgtab[] = {
{"TIME_MASK_2_ITEMS", "%s and %s"},
struct ModeBuffer *modeBuf = malloc(sizeof(*modeBuf));
if(!modeBuf) {
perror("malloc() failed");
- return;
+ return NULL;
}
modeBuf->client = client;
modeBuf->chan = chan;
struct ClientSocket;
struct UserNode;
-struct ChanNode
+struct ChanNode;
struct Table {
char ***contents;
char delModes[MAXMODES];
char *addModesParams[MAXMODES];
char *delModesParams[MAXMODES];
- char addCount;
- char delCount;
+ int addCount;
+ int delCount;
};
int match(const char *mask, const char *name);