X-Git-Url: http://git.pk910.de/?a=blobdiff_plain;f=cmd_neonserv_move.c;h=804954faf45ff92be7a1f9798fdd11e200e92da4;hb=795115bf680185ae01043bd1222b78bfed8c1d87;hp=e9fc54b29e90d669ca1a86477001ac0d3599528a;hpb=6cfde61d09bb605c63ef2afae93bb5e6fa8ff4ef;p=NeonServV5.git diff --git a/cmd_neonserv_move.c b/cmd_neonserv_move.c index e9fc54b..804954f 100644 --- a/cmd_neonserv_move.c +++ b/cmd_neonserv_move.c @@ -1,9 +1,11 @@ +#include "cmd_neonserv.h" + /* * argv[0] - channel * argv[1] - new channel */ -static CMD_BIND(neonserv_cmd_move) { +CMD_BIND(neonserv_cmd_move) { MYSQL_RES *res; MYSQL_ROW row; char *channel = argv[0]; @@ -52,7 +54,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); }