typedef void neonserv_cmd_uset_function(struct ClientSocket *client, struct UserNode *user, struct ChanNode *chan, struct Event *event, const char *setting, char *argument, MYSQL_ROW defaults);
static void neonserv_cmd_uset_language(struct ClientSocket *client, struct UserNode *user, struct ChanNode *chan, struct Event *event, const char *setting, char *argument, MYSQL_ROW defaults);
+static void neonserv_cmd_uset_blockinvite(struct ClientSocket *client, struct UserNode *user, struct ChanNode *chan, struct Event *event, const char *setting, char *argument, MYSQL_ROW defaults);
static void neonserv_cmd_uset_noinvite(struct ClientSocket *client, struct UserNode *user, struct ChanNode *chan, struct Event *event, const char *setting, char *argument, MYSQL_ROW defaults);
static void neonserv_cmd_uset_autoinvite(struct ClientSocket *client, struct UserNode *user, struct ChanNode *chan, struct Event *event, const char *setting, char *argument, MYSQL_ROW defaults);
static void neonserv_cmd_uset_noautoop(struct ClientSocket *client, struct UserNode *user, struct ChanNode *chan, struct Event *event, const char *setting, char *argument, MYSQL_ROW defaults);
neonserv_cmd_uset_function *function;
int flags;
} uset_settings[] = {
- {"Language", neonserv_cmd_uset_language, USET_FLAG_GLOBAL},
- {"NoInvite", neonserv_cmd_uset_noinvite, USET_FLAG_CHANNEL},
- {"AutoInvite", neonserv_cmd_uset_autoinvite, USET_FLAG_CHANNEL | USET_FLAG_DEFAULTS},
- {"NoAutoOp", neonserv_cmd_uset_noautoop, USET_FLAG_CHANNEL | USET_FLAG_DEFAULTS},
- {"NoAutoVoice", neonserv_cmd_uset_noautoop, USET_FLAG_CHANNEL | USET_FLAG_DEFAULTS | USET_FLAG_INVISIBLE}, //alias of NoAutoOp
- {"Info", neonserv_cmd_uset_info, USET_FLAG_CHANNEL | USET_FLAG_DEFAULTS},
+ {"Language", neonserv_cmd_uset_language, USET_FLAG_GLOBAL},
+ {"BlockInvites", neonserv_cmd_uset_blockinvite, USET_FLAG_GLOBAL},
+ {"BlockInvite", neonserv_cmd_uset_blockinvite, USET_FLAG_GLOBAL | USET_FLAG_INVISIBLE},
+ {"BlockAllInvites", neonserv_cmd_uset_blockinvite, USET_FLAG_GLOBAL | USET_FLAG_INVISIBLE},
+ {"NoInvite", neonserv_cmd_uset_noinvite, USET_FLAG_CHANNEL},
+ {"AutoInvite", neonserv_cmd_uset_autoinvite, USET_FLAG_CHANNEL | USET_FLAG_DEFAULTS},
+ {"NoAutoOp", neonserv_cmd_uset_noautoop, USET_FLAG_CHANNEL | USET_FLAG_DEFAULTS},
+ {"NoAutoVoice", neonserv_cmd_uset_noautoop, USET_FLAG_CHANNEL | USET_FLAG_DEFAULTS | USET_FLAG_INVISIBLE}, //alias of NoAutoOp
+ {"Info", neonserv_cmd_uset_info, USET_FLAG_CHANNEL | USET_FLAG_DEFAULTS},
{NULL, NULL, 0}
};
}
} else
lang = user->language;
- reply(getTextBot(), user, "\002Language \002%s", lang->langname);
+ reply(getTextBot(), user, "\002Language \002%s", lang->langname);
char tmp[MAXLEN];
int tmppos = 0;
lang = get_default_language();
reply(getTextBot(), user, " %s", tmp);
}
+static void neonserv_cmd_uset_blockinvite(struct ClientSocket *client, struct UserNode *user, struct ChanNode *chan, struct Event *event, const char *setting, char *argument, MYSQL_ROW defaults) {
+ MYSQL_RES *res;
+ MYSQL_ROW row;
+ printf_mysql_query("SELECT `user_id`, `user_block_invites` FROM `users` WHERE `user_user` = '%s'", escape_string(user->auth));
+ res = mysql_use();
+ row = mysql_fetch_row(res);
+ int blockinvite = (row ? atoi(row[1]) : 0);
+ if(argument) {
+ if(!strcmp(argument, "0") || !stricmp(argument, "off") || !stricmp(argument, get_language_string(user, "NS_SET_OFF"))) {
+ blockinvite = 0;
+ } else if(!strcmp(argument, "1") || !stricmp(argument, "on") || !stricmp(argument, get_language_string(user, "NS_SET_ON"))) {
+ blockinvite = 1;
+ }
+ if(blockinvite && !row) {
+ printf_mysql_query("INSERT INTO `users` (`user_user`, `user_block_invites`) VALUES ('%s', '1')", escape_string(user->auth));
+ } else if(blockinvite != atoi(row[1])) {
+ printf_mysql_query("UPDATE `users` SET `user_block_invites` = '%d' WHERE `user_id` = '%s'", blockinvite, row[0]);
+ }
+ }
+ reply(getTextBot(), user, "\002BlockInvite \002%s", (blockinvite ? get_language_string(user, "NS_SET_ON") : get_language_string(user, "NS_SET_OFF")));
+}
+
static void neonserv_cmd_uset_noinvite(struct ClientSocket *client, struct UserNode *user, struct ChanNode *chan, struct Event *event, const char *setting, char *argument, MYSQL_ROW defaults) {
MYSQL_RES *res;
MYSQL_ROW row;
}
}
}
- reply(getTextBot(), user, "\002NoInvite \002%s", (noinvite ? get_language_string(user, "NS_SET_ON") : get_language_string(user, "NS_SET_OFF")));
+ reply(getTextBot(), user, "\002NoInvite \002%s", (noinvite ? get_language_string(user, "NS_SET_ON") : get_language_string(user, "NS_SET_OFF")));
}
static void neonserv_cmd_uset_autoinvite(struct ClientSocket *client, struct UserNode *user, struct ChanNode *chan, struct Event *event, const char *setting, char *argument, MYSQL_ROW defaults) {
}
}
if(getInvite)
- reply(getTextBot(), user, "\002AutoInvite \002%s", ((flags & DB_CHANUSER_AUTOINVITE) ? get_language_string(user, "NS_SET_ON") : get_language_string(user, "NS_SET_OFF")));
+ reply(getTextBot(), user, "\002AutoInvite \002%s", ((flags & DB_CHANUSER_AUTOINVITE) ? get_language_string(user, "NS_SET_ON") : get_language_string(user, "NS_SET_OFF")));
else
- reply(getTextBot(), user, "\002AutoInvite \002%s", get_language_string(user, "NS_USET_NO_ACCESS"));
+ reply(getTextBot(), user, "\002AutoInvite \002%s", get_language_string(user, "NS_USET_NO_ACCESS"));
}
static void neonserv_cmd_uset_noautoop(struct ClientSocket *client, struct UserNode *user, struct ChanNode *chan, struct Event *event, const char *setting, char *argument, MYSQL_ROW defaults) {
}
}
}
- reply(getTextBot(), user, "\002NoAutoOp \002%s", ((flags & DB_CHANUSER_NOAUTOOP) ? get_language_string(user, "NS_SET_ON") : get_language_string(user, "NS_SET_OFF")));
+ reply(getTextBot(), user, "\002NoAutoOp \002%s", ((flags & DB_CHANUSER_NOAUTOOP) ? get_language_string(user, "NS_SET_ON") : get_language_string(user, "NS_SET_OFF")));
}
static void neonserv_cmd_uset_info(struct ClientSocket *client, struct UserNode *user, struct ChanNode *chan, struct Event *event, const char *setting, char *argument, MYSQL_ROW defaults) {
printf_mysql_query("UPDATE `chanusers` SET `chanuser_infoline` = '%s' WHERE `chanuser_id` = '%s'", escape_string(infoline), defaults[4]);
} else
infoline = defaults[1];
- reply(getTextBot(), user, "\002Info \002%s", infoline);
+ reply(getTextBot(), user, "\002Info \002%s", infoline);
}