X-Git-Url: http://git.pk910.de/?a=blobdiff_plain;f=cmd_neonserv_adduser.c;h=e5d2bd2e1e4e66dbbe6e11b6d5dd3e866ee56f1e;hb=db818bf4952ccd5eda06f7ccbbe2283db1414065;hp=efeb99472dda92079defe701aff14fbf7c686a58;hpb=1b5cf26eda4e8ed261e7cde1fc3ae8b0e082de92;p=NeonServV5.git diff --git a/cmd_neonserv_adduser.c b/cmd_neonserv_adduser.c index efeb994..e5d2bd2 100644 --- a/cmd_neonserv_adduser.c +++ b/cmd_neonserv_adduser.c @@ -111,9 +111,17 @@ static void neonserv_cmd_adduser_async1(struct ClientSocket *client, struct Clie res = mysql_use(); if ((row = mysql_fetch_row(res)) != NULL) { userid = atoi(row[0]); + //check if the user is already added + printf_mysql_query("SELECT `chanuser_access` FROM `chanusers` WHERE `chanuser_cid` = '%d' AND `chanuser_uid` = '%d'", chan->channel_id, userid); + res = mysql_use(); + if ((row = mysql_fetch_row(res)) != NULL) { + reply(textclient, user, "NS_ADDUSER_ALREADY_ADDED", nick, chan->name, atoi(row[0])); + return; + } } else { printf_mysql_query("INSERT INTO `users` (`user_user`) VALUES ('%s')", escape_string(auth)); userid = (int) mysql_insert_id(mysql_conn); } - putsock(client, "PRIVMSG %s :%s: [%d] %s %d", chan->name, nick, userid, auth, caccess); + printf_mysql_query("INSERT INTO `chanusers` (`chanuser_cid`, `chanuser_uid`, `chanuser_access`) VALUES ('%d', '%d', '%d')", chan->channel_id, userid, access); + reply(textclient, user, "NS_ADDUSER_DONE", nick, chan->name, atoi(row[0])); }