Merge remote-tracking branch 'origin/development'
authorpk910 <philipp@zoelle1.de>
Sun, 9 Sep 2012 07:43:04 +0000 (09:43 +0200)
committerpk910 <philipp@zoelle1.de>
Sun, 9 Sep 2012 07:43:04 +0000 (09:43 +0200)
src/modules/NeonServ.mod/cmd_neonserv_nicklist.c
src/modules/NeonServ.mod/cmd_neonserv_set.c
src/modules/NeonServ.mod/cmd_neonserv_unvisited.c
src/modules/stats.mod/module.c

index 42cac607a312c5360a986eed7e9ba43b23694b73..5043f42fc653fe338c4bba74c5a38d85053762a4 100644 (file)
@@ -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");
index 56b9f2a7766f2fcf7908c283723fec45fb81d848..2b78097fadad03e71d170ac9462bd2e2fc14503f 100644 (file)
@@ -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) {
index 07b75018d6bbc1c93b2c4710fdcd900294e1572b..fc00afacc25c162b11d9af2397cb155c8b53fe22 100644 (file)
@@ -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))
index ff5f8f6afb344de0ca14775ae62be0fe8c149662..c08e0fba58e8225341c6d8e5a2d1cc7563474c0f 100644 (file)
@@ -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;