removed getTextBot() function and added textbot parameter to the CMD_BIND header...
[NeonServV5.git] / src / modules / NeonServ.mod / cmd_neonserv_noregister.c
index e46f0c40cd945598b4ed176d17e96ab4dd2830b3..bb16d31dc0c9d8e174c00dbb889f672d097464a4 100644 (file)
@@ -26,7 +26,7 @@
 static AUTHLOOKUP_CALLBACK(neonserv_cmd_noregister_auth_lookup);
 static USERAUTH_CALLBACK(neonserv_cmd_noregister_nick_lookup);
 static void neonserv_cmd_noregister_async1(struct ClientSocket *client, struct ClientSocket *textclient, struct UserNode *user, struct ChanNode *chan, struct Event *event,char *auth, int duration, char *reason);
-static void neonserv_cmd_noregister_list(struct ClientSocket *client, struct UserNode *user, struct ChanNode *chan, struct Event *event, char **argv, int argc);
+static void neonserv_cmd_noregister_list(struct ClientSocket *client, struct ClientSocket *textclient, struct UserNode *user, struct ChanNode *chan, struct Event *event, char **argv, int argc);
 
 struct neonserv_cmd_noregister_cache {
     struct ClientSocket *client, *textclient;
@@ -39,12 +39,12 @@ struct neonserv_cmd_noregister_cache {
 
 CMD_BIND(neonserv_cmd_noregister) {
     if(argc < 3) {
-        neonserv_cmd_noregister_list(client, user, chan, event, argv, argc);
+        neonserv_cmd_noregister_list(client, textclient, user, chan, event, argv, argc);
         return;
     }
     int duration = strToTime(user, argv[1]);
     if(duration == 0 && strcmp(argv[1], "0")) {
-        reply(getTextBot(), user, "NS_NOREGISTER_INVALID_DURATION", argv[1]);
+        reply(textclient, user, "NS_NOREGISTER_INVALID_DURATION", argv[1]);
         return;
     }
     char *reason = merge_argv(argv, 2, argc);
@@ -54,17 +54,17 @@ CMD_BIND(neonserv_cmd_noregister) {
         printf_mysql_query("SELECT `botid` FROM `bot_channels` LEFT JOIN `channels` ON `bot_channels`.`chanid` = `channels`.`channel_id` WHERE `channel_name` = '%s'", escape_string(argv[0]));
         res = mysql_use();
         if ((row = mysql_fetch_row(res)) != NULL) {
-            reply(getTextBot(), user, "NS_NOREGISTER_REGISTERED", argv[0]);
+            reply(textclient, user, "NS_NOREGISTER_REGISTERED", argv[0]);
             return;
         }
-        neonserv_cmd_noregister_async1(client, getTextBot(), user, chan, event, argv[0], duration, reason);
+        neonserv_cmd_noregister_async1(client, textclient, user, chan, event, argv[0], duration, reason);
     } else if(argv[0][0] == '*') {
         //we've got an auth
         argv[0]++;
         printf_mysql_query("SELECT `user_user` FROM `users` WHERE `user_user` = '%s'", escape_string(argv[0]));
         res = mysql_use();
         if ((row = mysql_fetch_row(res)) != NULL) {
-            neonserv_cmd_noregister_async1(client, getTextBot(), user, chan, event, row[0], duration, reason);
+            neonserv_cmd_noregister_async1(client, textclient, user, chan, event, row[0], duration, reason);
         } else {
             //we need to create a new user...
             //but first lookup the auth to check if it really exists
@@ -74,7 +74,7 @@ CMD_BIND(neonserv_cmd_noregister) {
                 return;
             }
             cache->client = client;
-            cache->textclient = getTextBot();
+            cache->textclient = textclient;
             cache->user = user;
             cache->chan = chan;
             cache->event = event;
@@ -88,13 +88,13 @@ CMD_BIND(neonserv_cmd_noregister) {
         if(!cuser) {
             cuser = createTempUser(argv[0]);
                        if(!cuser) {
-                reply(getTextBot(), user, "NS_USER_UNKNOWN", argv[0]);
+                reply(textclient, user, "NS_USER_UNKNOWN", argv[0]);
                 return;
             }
             cuser->flags |= USERFLAG_ISTMPUSER;
         }
         if(cuser->flags & USERFLAG_ISAUTHED) {
-            neonserv_cmd_noregister_async1(client, getTextBot(), user, chan, event, cuser->auth, duration, reason);
+            neonserv_cmd_noregister_async1(client, textclient, user, chan, event, cuser->auth, duration, reason);
         } else {
             struct neonserv_cmd_noregister_cache *cache = malloc(sizeof(*cache));
             if (!cache) {
@@ -102,7 +102,7 @@ CMD_BIND(neonserv_cmd_noregister) {
                 return;
             }
             cache->client = client;
-            cache->textclient = getTextBot();
+            cache->textclient = textclient;
             cache->user = user;
             cache->chan = chan;
             cache->event = event;
@@ -159,10 +159,10 @@ static void neonserv_cmd_noregister_async1(struct ClientSocket *client, struct C
     else
         userid = 0;
     printf_mysql_query("INSERT INTO `donotregister` (`dnr_target`, `dnr_timeout`, `dnr_user`, `dnr_reason`) VALUES ('%s', '%lu', '%d', '%s')", escape_string(auth), (duration ? (time(0)+duration) : 0), userid, escape_string(reason));
-    reply(getTextBot(), user, "NS_NOREGISTER_DONE", auth);
+    reply(textclient, user, "NS_NOREGISTER_DONE", auth);
 }
 
-static void neonserv_cmd_noregister_list(struct ClientSocket *client, struct UserNode *user, struct ChanNode *chan, struct Event *event, char **argv, int argc) {
+static void neonserv_cmd_noregister_list(struct ClientSocket *client, struct ClientSocket *textclient, struct UserNode *user, struct ChanNode *chan, struct Event *event, char **argv, int argc) {
     struct Table *table;
     int entrys = 0;
     MYSQL_RES *res;
@@ -191,9 +191,9 @@ static void neonserv_cmd_noregister_list(struct ClientSocket *client, struct Use
     char **table_lines = table_end(table);
     int i;
     for(i = 0; i < table->entrys; i++) {
-        reply(getTextBot(), user, table_lines[i]);
+        reply(textclient, user, table_lines[i]);
     }
     if(!entrys)
-        reply(getTextBot(), user, "NS_TABLE_NONE");
+        reply(textclient, user, "NS_TABLE_NONE");
     table_free(table);
 }