X-Git-Url: http://git.pk910.de/?a=blobdiff_plain;f=src%2Fcmd_global_unbind.c;h=8cd8f45715fe4788891938d8b3e8ec74e3edcb0c;hb=bb5692b9cbff069abbf9573c81e86c3cd2061ceb;hp=f4940d375199f6ea61758fcc23c90a7bf9fe3b39;hpb=c68b1fc369c90fd66fb71e485c70850b211749fe;p=NeonServV5.git diff --git a/src/cmd_global_unbind.c b/src/cmd_global_unbind.c index f4940d3..8cd8f45 100644 --- a/src/cmd_global_unbind.c +++ b/src/cmd_global_unbind.c @@ -1,5 +1,5 @@ -/* cmd_global_unbind.c - NeonServ v5.2 - * Copyright (C) 2011 Philipp Kreil (pk910) +/* cmd_global_unbind.c - NeonServ v5.3 + * Copyright (C) 2011-2012 Philipp Kreil (pk910) * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -24,23 +24,29 @@ CMD_BIND(global_cmd_unbind) { MYSQL_RES *res; MYSQL_ROW row; - struct cmd_binding *cbind = find_cmd_binding(client->botid, argv[0]); - printf_mysql_query("SELECT `id`, `function` FROM `bot_binds` WHERE `botclass` = '%d' AND `command` = '%s'", client->botid, escape_string(argv[0])); + struct cmd_binding *cbind = find_botwise_cmd_binding(client->botid, client->clientid, argv[0]); + if(client->botid == 0) + printf_mysql_query("SELECT `id`, `function` FROM `bot_binds` WHERE `botclass` = '0' AND `botid` = '%d' AND `command` = '%s'", client->clientid, escape_string(argv[0])); + else + printf_mysql_query("SELECT `id`, `function` FROM `bot_binds` WHERE `botclass` = '%d' AND `command` = '%s'", client->botid, escape_string(argv[0])); res = mysql_use(); if ((row = mysql_fetch_row(res)) == NULL && (!cbind || !(cbind->flags & CMDFLAG_TEMPONARY_BIND))) { reply(getTextBot(), user, "NS_UNBIND_NOT_FOUND", argv[0]); return; } - struct cmd_function *function = find_cmd_function(client->botid, row[1]); + struct cmd_function *function = find_cmd_function(client->botid, cbind->func->name); if(function && (function->flags & CMDFLAG_REQUIRED)) { - printf_mysql_query("SELECT `id` FROM `bot_binds` WHERE `botclass` = '%d' AND `function` = '%s'", client->botid, escape_string(function->name)); + if(client->botid == 0) + printf_mysql_query("SELECT `id` FROM `bot_binds` WHERE `botclass` = '0' AND `botid` = '%d' AND `function` = '%s'", client->clientid, escape_string(function->name)); + else + printf_mysql_query("SELECT `id` FROM `bot_binds` WHERE `botclass` = '%d' AND `function` = '%s'", client->botid, escape_string(function->name)); res = mysql_use(); if (mysql_num_rows(res) <= 1) { reply(getTextBot(), user, "NS_UNBIND_REQUIRED", function->name); return; } } - unbind_cmd(client->botid, argv[0]); + unbind_botwise_cmd(client->botid, client->clientid, argv[0]); if(!cbind || !(cbind->flags & CMDFLAG_TEMPONARY_BIND)) printf_mysql_query("DELETE FROM `bot_binds` WHERE `id` = '%s'", row[0]); reply(getTextBot(), user, "NS_UNBIND_DONE", argv[0]);