From: pk910 Date: Sun, 9 Sep 2012 07:43:04 +0000 (+0200) Subject: Merge remote-tracking branch 'origin/development' X-Git-Url: http://git.pk910.de/?a=commitdiff_plain;h=f74d5e297f7b6cbdccf9e3363c8a70f65f4b2614;hp=40944b658837895643bc792457710a66f5ee4331;p=NeonServV5.git Merge remote-tracking branch 'origin/development' --- diff --git a/src/modules/NeonServ.mod/cmd_neonserv_nicklist.c b/src/modules/NeonServ.mod/cmd_neonserv_nicklist.c index 42cac60..5043f42 100644 --- a/src/modules/NeonServ.mod/cmd_neonserv_nicklist.c +++ b/src/modules/NeonServ.mod/cmd_neonserv_nicklist.c @@ -241,7 +241,10 @@ static void neonserv_cmd_nicklist_async1(struct ClientSocket *client, struct Cli } } else { synced_user = 1; - accessbufpos = sprintf(accessbuf, "\003040\003"); + if(((chanuser->flags & CHANUSERFLAG_OPPED) && db_enfops > caccess) || ((chanuser->flags & CHANUSERFLAG_VOICED) && db_enfvoice > caccess)) + accessbufpos = sprintf(accessbuf, "\003040\003"); + else + accessbufpos = sprintf(accessbuf, "0"); } } else if(!uaccess) accessbufpos = sprintf(accessbuf, "0"); diff --git a/src/modules/NeonServ.mod/cmd_neonserv_set.c b/src/modules/NeonServ.mod/cmd_neonserv_set.c index 56b9f2a..2b78097 100644 --- a/src/modules/NeonServ.mod/cmd_neonserv_set.c +++ b/src/modules/NeonServ.mod/cmd_neonserv_set.c @@ -367,7 +367,10 @@ static char* neonserv_cmd_set_trigger(struct ClientSocket *client, struct Client //get current trigger MYSQL_RES *res; MYSQL_ROW row; - printf_mysql_query("SELECT `trigger`, `defaulttrigger` FROM `bot_channels` LEFT JOIN `bots` ON `botid` = `bots`.`id` WHERE `chanid` = '%d' AND `botid` = '%d'", chan->channel_id, client->clientid); + if(client->botid) + printf_mysql_query("SELECT `trigger`, `defaulttrigger`, `id` FROM `bot_channels` LEFT JOIN `bots` ON `botid` = `bots`.`id` WHERE `chanid` = '%d' AND `botclass` = '%d'", chan->channel_id, client->botid); + else + printf_mysql_query("SELECT `trigger`, `defaulttrigger`, `id` FROM `bot_channels` LEFT JOIN `bots` ON `botid` = `bots`.`id` WHERE `chanid` = '%d' AND `botid` = '%d'", chan->channel_id, client->clientid); res = mysql_use(); row = mysql_fetch_row(res); trigger = (row[0] ? row[0] : row[1]); @@ -383,9 +386,12 @@ static char* neonserv_cmd_set_trigger(struct ClientSocket *client, struct Client } if(strlen(argument) > 15) argument[15] = '\0'; - printf_mysql_query("UPDATE `bot_channels` SET `trigger` = '%s' WHERE `chanid` = '%d' AND `botid` = '%d'", escape_string(argument), chan->channel_id, client->clientid); + printf_mysql_query("UPDATE `bot_channels` SET `trigger` = '%s' WHERE `id` = '%d'", escape_string(argument), row[2]); trigger = argument; - changeChannelTrigger(client->botid, chan, trigger); + if(client->botid) + changeChannelTrigger(client->botid, chan, trigger); + else + changeBotwiseChannelTrigger(client->botid, client->clientid, chan, trigger); logEvent(event); } if(setting) { diff --git a/src/modules/NeonServ.mod/cmd_neonserv_unvisited.c b/src/modules/NeonServ.mod/cmd_neonserv_unvisited.c index 07b7501..fc00afa 100644 --- a/src/modules/NeonServ.mod/cmd_neonserv_unvisited.c +++ b/src/modules/NeonServ.mod/cmd_neonserv_unvisited.c @@ -195,7 +195,7 @@ static void neonserv_cmd_unvisited_unreg(struct ClientSocket *client, char *chan putsock(bot, "PART %s :Channel unregistered.", channel); } } - if(client->botid == NEONSERV_BOTID) { + if(botid == NEONSERV_BOTID) { char setting[128]; sprintf(setting, "modules.%s.auto_backup_unregister", get_module_name(module_id)); if(get_int_field(setting)) diff --git a/src/modules/stats.mod/module.c b/src/modules/stats.mod/module.c index ff5f8f6..c08e0fb 100644 --- a/src/modules/stats.mod/module.c +++ b/src/modules/stats.mod/module.c @@ -94,7 +94,7 @@ static TIMEQ_CALLBACK(stats_timer_callback) { if(get_int_field(tmp)) pkgpos += sprintf(pkgbuf + pkgpos, "*\n"); else { - struct ClientSocket *bot, *bot1, *bot2, *bot3; + struct ClientSocket *bot, *bot1 = NULL, *bot2 = NULL, *bot3 = NULL; for(bot = getBots(SOCKET_FLAG_READY, NULL); bot; bot = getBots(SOCKET_FLAG_READY, bot)) { if(bot->botid == 1 && (bot->flags & SOCKET_FLAG_PREFERRED)) bot1 = bot;