X-Git-Url: http://git.pk910.de/?p=NeonServV5.git;a=blobdiff_plain;f=src%2Fmodules%2FNeonServ.mod%2Fcmd_neonserv_set.c;h=48fb7228e6ee83e6e18d3899b9bf3ca6d7d48c01;hp=2243c0df38e0401d0122ccfb149c638016a62b66;hb=de5f0224c8b119f1be15457262bd6e66f160657f;hpb=9f5af1bc8ff4e8fc9c28433c76a890a990dd0ae5 diff --git a/src/modules/NeonServ.mod/cmd_neonserv_set.c b/src/modules/NeonServ.mod/cmd_neonserv_set.c index 2243c0d..48fb722 100644 --- a/src/modules/NeonServ.mod/cmd_neonserv_set.c +++ b/src/modules/NeonServ.mod/cmd_neonserv_set.c @@ -17,13 +17,13 @@ #include "cmd_neonserv.h" -typedef char* neonserv_cmd_set_function(struct ClientSocket *client, struct UserNode *user, struct ChanNode *chan, struct Event *event, const char *setting, char *argument); -static void neonserv_cmd_set_setting(struct ClientSocket *client, struct UserNode *user, struct ChanNode *chan, struct Event *event, int setting, char *argument); -static char* neonserv_cmd_set_trigger(struct ClientSocket *client, struct UserNode *user, struct ChanNode *chan, struct Event *event, const char *setting, char *argument); -static char* neonserv_cmd_set_modes(struct ClientSocket *client, struct UserNode *user, struct ChanNode *chan, struct Event *event, const char *setting, char *argument); -static char* neonserv_cmd_set_dynlimit(struct ClientSocket *client, struct UserNode *user, struct ChanNode *chan, struct Event *event, const char *setting, char *argument); -static char* neonserv_cmd_set_nodelete(struct ClientSocket *client, struct UserNode *user, struct ChanNode *chan, struct Event *event, const char *setting, char *argument); -static char* neonserv_cmd_set_backupbot(struct ClientSocket *client, struct UserNode *user, struct ChanNode *chan, struct Event *event, const char *setting, char *argument); +typedef char* neonserv_cmd_set_function(struct ClientSocket *client, struct ClientSocket *textclient, struct UserNode *user, struct ChanNode *chan, struct Event *event, const char *setting, char *argument); +static void neonserv_cmd_set_setting(struct ClientSocket *client, struct ClientSocket *textclient, struct UserNode *user, struct ChanNode *chan, struct Event *event, int setting, char *argument); +static char* neonserv_cmd_set_trigger(struct ClientSocket *client, struct ClientSocket *textclient, struct UserNode *user, struct ChanNode *chan, struct Event *event, const char *setting, char *argument); +static char* neonserv_cmd_set_modes(struct ClientSocket *client, struct ClientSocket *textclient, struct UserNode *user, struct ChanNode *chan, struct Event *event, const char *setting, char *argument); +static char* neonserv_cmd_set_dynlimit(struct ClientSocket *client, struct ClientSocket *textclient, struct UserNode *user, struct ChanNode *chan, struct Event *event, const char *setting, char *argument); +static char* neonserv_cmd_set_nodelete(struct ClientSocket *client, struct ClientSocket *textclient, struct UserNode *user, struct ChanNode *chan, struct Event *event, const char *setting, char *argument); +static char* neonserv_cmd_set_backupbot(struct ClientSocket *client, struct ClientSocket *textclient, struct UserNode *user, struct ChanNode *chan, struct Event *event, const char *setting, char *argument); #define NS_VALID_FUNCTION 0x01 #define NS_VALID_STRING 0x02 @@ -95,7 +95,7 @@ CMD_BIND(neonserv_cmd_set) { if(isGodMode(user)) { event->flags |= CMDFLAG_OPLOG; } else { - reply(getTextBot(), user, "NS_SET_DEFAULTS_OWNER", chan->name); + reply(textclient, user, "NS_SET_DEFAULTS_OWNER", chan->name); return; } } @@ -120,10 +120,10 @@ CMD_BIND(neonserv_cmd_set) { query[querypos-2] = '\0'; } printf_mysql_query("UPDATE `channels` SET %s WHERE `channel_id` = '%d'", query, chan->channel_id); - reply(getTextBot(), user, "NS_SET_DEFAULTS_DONE", chan->name); + reply(textclient, user, "NS_SET_DEFAULTS_DONE", chan->name); logEvent(event); } else { - reply(getTextBot(), user, "NS_SET_DEFAULTS_CODE", chan->name, defaultskey); + reply(textclient, user, "NS_SET_DEFAULTS_CODE", chan->name, defaultskey); } } else if(argc && strcmp(argv[0], "help")) { //find the correct command @@ -144,9 +144,9 @@ CMD_BIND(neonserv_cmd_set) { } if(channel_settings[i].valid & NS_VALID_FUNCTION) { neonserv_cmd_set_function *func = channel_settings[i].parameter; - func(client, user, chan, event, channel_settings[i].setting, args); + func(client, textclient, user, chan, event, channel_settings[i].setting, args); } else { - neonserv_cmd_set_setting(client, user, chan, event, i, args); + neonserv_cmd_set_setting(client, textclient, user, chan, event, i, args); } j = 1; break; @@ -155,7 +155,7 @@ CMD_BIND(neonserv_cmd_set) { } if(j == 0) { //unknown setting - reply(getTextBot(), user, "NS_SET_UNKNOWN_SETTING", argv[0]); + reply(textclient, user, "NS_SET_UNKNOWN_SETTING", argv[0]); } } else { char query[MAX_QUERY_LEN], *value, *org_value, *tmp, nameBuf[64]; @@ -198,7 +198,7 @@ CMD_BIND(neonserv_cmd_set) { row = mysql_fetch_row(res); i = 0; j = 0; - reply(getTextBot(), user, "NS_SET_HEADER", chan->name); + reply(textclient, user, "NS_SET_HEADER", chan->name); while(channel_settings[i].setting) { if((channel_settings[i].valid & NS_VALID_IF_HALFOP) && !with_halfops) { i++; @@ -213,7 +213,7 @@ CMD_BIND(neonserv_cmd_set) { org_value = (row[j] ? row[j] : defaults[j]); } else if(channel_settings[i].valid & NS_VALID_FUNCTION) { neonserv_cmd_set_function *func = channel_settings[i].parameter; - org_value = func(client, user, chan, event, NULL, NULL); + org_value = func(client, textclient, user, chan, event, NULL, NULL); } else org_value = "0"; value = org_value; @@ -246,13 +246,13 @@ CMD_BIND(neonserv_cmd_set) { } char **table_lines = table_end(table); for(i = 0; i < table->entrys; i++) { - reply(getTextBot(), user, table_lines[i]); + reply(textclient, user, table_lines[i]); } table_free(table); } } -static void neonserv_cmd_set_setting(struct ClientSocket *client, struct UserNode *user, struct ChanNode *chan, struct Event *event, int setting, char *args) { +static void neonserv_cmd_set_setting(struct ClientSocket *client, struct ClientSocket *textclient, struct UserNode *user, struct ChanNode *chan, struct Event *event, int setting, char *args) { char *value; char nameBuf[64]; //get current value @@ -280,7 +280,7 @@ static void neonserv_cmd_set_setting(struct ClientSocket *client, struct UserNod int caccess = atoi(args); int max = ((valid & NS_VALID_NO501) ? 500 : 501); if(caccess < 0 || caccess > max) { - reply(getTextBot(), user, "NS_INVALID_ACCESS", caccess); + reply(textclient, user, "NS_INVALID_ACCESS", caccess); return; } int uaccess = getChannelAccess(user, chan); @@ -289,7 +289,7 @@ static void neonserv_cmd_set_setting(struct ClientSocket *client, struct UserNod if(isGodMode(user)) { event->flags |= CMDFLAG_OPLOG; } else { - reply(getTextBot(), user, "NS_SET_CANNOT_SET"); + reply(textclient, user, "NS_SET_CANNOT_SET"); return; } } @@ -297,7 +297,7 @@ static void neonserv_cmd_set_setting(struct ClientSocket *client, struct UserNod if(isGodMode(user)) { event->flags |= CMDFLAG_OPLOG; } else { - reply(getTextBot(), user, "NS_SET_BADLEVEL"); + reply(textclient, user, "NS_SET_BADLEVEL"); return; } } @@ -308,13 +308,13 @@ static void neonserv_cmd_set_setting(struct ClientSocket *client, struct UserNod int options = atoi((char *) channel_settings[setting].parameter); int coption = atoi(args); if(coption < 0 || coption >= options) { - reply(getTextBot(), user, "NS_SET_INVALID_OPTION", coption); + reply(textclient, user, "NS_SET_INVALID_OPTION", coption); int i; int nameBufPos = 0; if(valid & NS_HAS_OPT) { for(i = 0; i < options; i++) { sprintf(nameBuf, "NS_SET_OPTION_%s_%d", channel_settings[setting].setting, i); - reply(getTextBot(), user, "\002%d\002 - %s", i, get_language_string(user, nameBuf)); + reply(textclient, user, "\002%d\002 - %s", i, get_language_string(user, nameBuf)); } } else { for(i = 0; i < options; i++) { @@ -322,7 +322,7 @@ static void neonserv_cmd_set_setting(struct ClientSocket *client, struct UserNod } if(nameBufPos) { nameBuf[nameBufPos-2] = '\0'; - reply(getTextBot(), user, nameBuf); + reply(textclient, user, nameBuf); } } return; @@ -338,7 +338,7 @@ static void neonserv_cmd_set_setting(struct ClientSocket *client, struct UserNod } else if(!strcmp(args, "1") || !stricmp(args, "on") || !stricmp(args, get_language_string(user, "NS_SET_ON"))) { args = "1"; } else { - reply(getTextBot(), user, "NS_SET_INVALID_BOOLEAN", args); + reply(textclient, user, "NS_SET_INVALID_BOOLEAN", args); return; } } @@ -351,18 +351,18 @@ static void neonserv_cmd_set_setting(struct ClientSocket *client, struct UserNod sprintf(nameBuf, "NS_SET_OPTION_%s_%s", channel_settings[setting].setting, value); char *tmp = get_language_string(user, nameBuf); if(tmp) - reply(getTextBot(), user, "\002%s\002 %s - %s", channel_settings[setting].setting, value, tmp); + reply(textclient, user, "\002%s\002 %s - %s", channel_settings[setting].setting, value, tmp); else - reply(getTextBot(), user, "\002%s\002 %s", channel_settings[setting].setting, value); + reply(textclient, user, "\002%s\002 %s", channel_settings[setting].setting, value); } else - reply(getTextBot(), user, "\002%s\002 %s", channel_settings[setting].setting, value); + reply(textclient, user, "\002%s\002 %s", channel_settings[setting].setting, value); if(channel_settings[setting].valid & NS_HAS_HELP) { sprintf(nameBuf, "NS_SET_HELP_%s", channel_settings[setting].setting); - reply(getTextBot(), user, " %s", get_language_string(user, nameBuf)); + reply(textclient, user, " %s", get_language_string(user, nameBuf)); } } -static char* neonserv_cmd_set_trigger(struct ClientSocket *client, struct UserNode *user, struct ChanNode *chan, struct Event *event, const char *setting, char *argument) { +static char* neonserv_cmd_set_trigger(struct ClientSocket *client, struct ClientSocket *textclient, struct UserNode *user, struct ChanNode *chan, struct Event *event, const char *setting, char *argument) { char *trigger; //get current trigger MYSQL_RES *res; @@ -377,7 +377,7 @@ static char* neonserv_cmd_set_trigger(struct ClientSocket *client, struct UserNo if(isGodMode(user)) { event->flags |= CMDFLAG_OPLOG; } else { - reply(getTextBot(), user, "NS_SET_TRIGGER_OWNER", chan->name); + reply(textclient, user, "NS_SET_TRIGGER_OWNER", chan->name); return NULL; } } @@ -389,12 +389,12 @@ static char* neonserv_cmd_set_trigger(struct ClientSocket *client, struct UserNo logEvent(event); } if(setting) { - reply(getTextBot(), user, "\002%s\002 %s", setting, trigger); + reply(textclient, user, "\002%s\002 %s", setting, trigger); } return trigger; } -static char* neonserv_cmd_set_modes(struct ClientSocket *client, struct UserNode *user, struct ChanNode *chan, struct Event *event, const char *setting, char *argument) { +static char* neonserv_cmd_set_modes(struct ClientSocket *client, struct ClientSocket *textclient, struct UserNode *user, struct ChanNode *chan, struct Event *event, const char *setting, char *argument) { char *value; char valueBuf[MAXLEN]; //get current value @@ -420,12 +420,12 @@ static char* neonserv_cmd_set_modes(struct ClientSocket *client, struct UserNode freeModeNode(modenode); } if(setting) { - reply(getTextBot(), user, "\002%s\002 %s", setting, value); + reply(textclient, user, "\002%s\002 %s", setting, value); } return value; } -static char* neonserv_cmd_set_dynlimit(struct ClientSocket *client, struct UserNode *user, struct ChanNode *chan, struct Event *event, const char *setting, char *argument) { +static char* neonserv_cmd_set_dynlimit(struct ClientSocket *client, struct ClientSocket *textclient, struct UserNode *user, struct ChanNode *chan, struct Event *event, const char *setting, char *argument) { char *value; char tmp[64]; //get current value @@ -453,12 +453,12 @@ static char* neonserv_cmd_set_dynlimit(struct ClientSocket *client, struct UserN logEvent(event); } if(setting) { - reply(getTextBot(), user, "\002%s\002 %s", setting, value); + reply(textclient, user, "\002%s\002 %s", setting, value); } return value; } -static char* neonserv_cmd_set_nodelete(struct ClientSocket *client, struct UserNode *user, struct ChanNode *chan, struct Event *event, const char *setting, char *argument) { +static char* neonserv_cmd_set_nodelete(struct ClientSocket *client, struct ClientSocket *textclient, struct UserNode *user, struct ChanNode *chan, struct Event *event, const char *setting, char *argument) { char *value; //get current value MYSQL_RES *res; @@ -479,7 +479,7 @@ static char* neonserv_cmd_set_nodelete(struct ClientSocket *client, struct UserN } else if(!strcmp(argument, "1") || !strcmp(argument, "on") || !strcmp(argument, get_language_string(user, "NS_SET_ON"))) { argument = "1"; } else { - reply(getTextBot(), user, "NS_SET_INVALID_BOOLEAN", argument); + reply(textclient, user, "NS_SET_INVALID_BOOLEAN", argument); return NULL; } printf_mysql_query("UPDATE `channels` SET `channel_nodelete` = '%s' WHERE `channel_id` = '%d'", escape_string(argument), chan->channel_id); @@ -488,12 +488,12 @@ static char* neonserv_cmd_set_nodelete(struct ClientSocket *client, struct UserN logEvent(event); } if(setting) { - reply(getTextBot(), user, "\002%s\002 %s", setting, value); + reply(textclient, user, "\002%s\002 %s", setting, value); } return value; } -static char* neonserv_cmd_set_backupbot(struct ClientSocket *client, struct UserNode *user, struct ChanNode *chan, struct Event *event, const char *setting, char *argument) { +static char* neonserv_cmd_set_backupbot(struct ClientSocket *client, struct ClientSocket *textclient, struct UserNode *user, struct ChanNode *chan, struct Event *event, const char *setting, char *argument) { int backupbot; //get current trigger MYSQL_RES *res; @@ -516,13 +516,13 @@ static char* neonserv_cmd_set_backupbot(struct ClientSocket *client, struct User backupbot = 1; } } else { - reply(getTextBot(), user, "NS_SET_INVALID_BOOLEAN", argument); + reply(textclient, user, "NS_SET_INVALID_BOOLEAN", argument); return NULL; } logEvent(event); } if(setting) { - reply(getTextBot(), user, "\002%s\002 %s", setting, (backupbot ? "1" : "0")); + reply(textclient, user, "\002%s\002 %s", setting, (backupbot ? "1" : "0")); } return (backupbot ? "1" : "0"); }