update cached information on cmd_move
authorpk910 <philipp@zoelle1.de>
Tue, 20 Sep 2011 22:56:15 +0000 (00:56 +0200)
committerpk910 <philipp@zoelle1.de>
Tue, 20 Sep 2011 22:56:15 +0000 (00:56 +0200)
cmd_neonserv_move.c

index e9fc54b29e90d669ca1a86477001ac0d3599528a..6dc3908ede04861bf530d996146376d4c22e8647 100644 (file)
@@ -52,7 +52,17 @@ static CMD_BIND(neonserv_cmd_move) {
         putsock(bot, "JOIN %s", new_channel);
     }
     printf_mysql_query("DELETE FROM `channels` WHERE `channel_name` = '%s'", escape_string(new_channel));
-    printf_mysql_query("UPDATE `channels` SET `channel_name` = '%s' WHERE `id` = '%s'", escape_string(new_channel), row[1]);
+    printf_mysql_query("UPDATE `channels` SET `channel_name` = '%s' WHERE `channel_id` = '%s'", escape_string(new_channel), row[1]);
+    struct ChanNode *channode = getChanByName(channel);
+    if(channode && channode->flags & CHANFLAG_REQUESTED_CHANINFO) {
+        channode->flags &= ~CHANFLAG_CHAN_REGISTERED;
+        channode->channel_id = 0;
+    }
+    channode = getChanByName(new_channel);
+    if(channode && channode->flags & CHANFLAG_REQUESTED_CHANINFO) {
+        channode->flags |= CHANFLAG_CHAN_REGISTERED;
+        channode->channel_id = atoi(row[1]);
+    }
     reply(getTextBot(), user, "NS_MOVE_DONE", channel, new_channel);
     logEvent(event);
 }