+++ /dev/null
-
-#include "cmd_neonserv.h"
-
-/*
-* argv[0] - key
-*/
-
-CMD_BIND(neonserv_cmd_delme) {
- MYSQL_RES *res;
- MYSQL_ROW row;
- int userid;
- printf_mysql_query("SELECT `user_id` FROM `users` WHERE `user_user` = '%s'", escape_string(user->auth));
- res = mysql_use();
- if ((row = mysql_fetch_row(res)) != NULL) {
- userid = atoi(row[0]);
- //check if the user is added
- printf_mysql_query("SELECT `chanuser_access`, `chanuser_id` FROM `chanusers` WHERE `chanuser_cid` = '%d' AND `chanuser_uid` = '%d'", chan->channel_id, userid);
- res = mysql_use();
- if ((row = mysql_fetch_row(res)) != NULL) {
- //check key
- int seed = 0;
- char *tmp;
- static char unregkey[16];
- for(tmp = user->auth; *tmp; tmp++)
- seed = (seed * 0xEECE66DL ^ ((*tmp << 24) | (*tmp << 16) | (*tmp << 8) | *tmp));
- for(tmp = chan->name; *tmp; tmp++)
- seed = (seed * 0xEECE66DL ^ ((*tmp << 24) | (*tmp << 16) | (*tmp << 8) | *tmp));
- sprintf(unregkey, "%08x", seed);
- if(argc < 1 || strcmp(argv[0], unregkey)) {
- reply(getTextBot(), user, "NS_DELME_KEY", unregkey);
- return;
- } else {
- //delete
- printf_mysql_query("DELETE FROM `chanusers` WHERE `chanuser_id` = '%s'", row[1]);
- reply(getTextBot(), user, "NS_DELME_DONE", atoi(row[0]), chan->name);
- logEvent(event);
- return;
- }
- }
- }
- reply(getTextBot(), user, "NS_NOT_ON_USERLIST_YOU", chan->name);
-}