+/* cmd_neonserv_set.c - NeonServ v5.2
+ * Copyright (C) 2011 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
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
#include "cmd_neonserv.h"
static char* neonserv_cmd_set_modes(struct ClientSocket *client, struct UserNode *user, struct ChanNode *chan, struct Event *event, const char *setting, char *argument) {
char *value;
+ char valueBuf[MAXLEN];
//get current value
MYSQL_RES *res;
MYSQL_ROW row;
value = row[0];
if(argument) {
//change the channel setting
- //TODO: parse, check and set modelock
+ struct ModeNode *modenode = createModeNode(NULL);
+ parseModeString(modenode, argument);
+ getFullModeString(modenode, valueBuf);
+ value = valueBuf;
+ printf_mysql_query("UPDATE `channels` SET `channel_modes` = '%s' WHERE `channel_id` = '%d'", escape_string(value), chan->channel_id);
+ //TODO: set modelock
+ freeModeNode(modenode);
}
if(setting) {
reply(getTextBot(), user, "\002%s\002 %s", setting, value);