fixed function name in cmd_neonhelp_delete.c
[NeonServV5.git] / src / DBHelper.c
index 980ee7ae80c651b4484026f2136e6f3a05eef093..787b336845451821833f9303eba792ae1b87ac18 100644 (file)
@@ -1,4 +1,4 @@
-/* DBHelper.c - NeonServ v5.3
+/* DBHelper.c - NeonServ v5.4
  * Copyright (C) 2011-2012  Philipp Kreil (pk910)
  * 
  * This program is free software: you can redistribute it and/or modify
@@ -25,6 +25,8 @@
 #include "IRCEvents.h"
 #include "HandleInfoHandler.h"
 #include "ClientSocket.h"
+#include "bots.h"
+#include "ConfigParser.h"
 
 void _loadUserSettings(struct UserNode *user) {
     SYNCHRONIZE(cache_sync);
@@ -244,6 +246,14 @@ int renameAccount(char *oldauth, char *newauth) {
             //simply rename the account
             printf_mysql_query("UPDATE `users` SET `user_user` = '%s' WHERE `user_id` = '%d'", escape_string(newauth), userid);
         }
+        char *alertchan = get_string_field("General.CheckAuths.alertchan");
+        if(alertchan) {
+            struct ChanNode *alertchan_chan = getChanByName(alertchan);
+            struct ClientSocket *alertclient;
+            if(alertchan_chan && (alertclient = getChannelBot(alertchan_chan, 0)) != NULL) {
+                putsock(alertclient, "PRIVMSG %s :Renamed User %s to %s", alertchan_chan->name, oldauth, newauth);
+            }
+        }
         return 1;
     }
     return 0;
@@ -287,7 +297,7 @@ static int event_user_registered(struct UserNode *old_user, struct UserNode *new
         }
         cache->new_user = new_user;
         cache->oldauth = strdup(oldauth);
-        lookup_authname(newauth, event_user_registered_auth_lookup, cache);
+        lookup_authname(newauth, 0, event_user_registered_auth_lookup, cache);
     }
     return 1;
 }
@@ -300,6 +310,7 @@ static AUTHLOOKUP_CALLBACK(event_user_registered_auth_lookup) {
         cache->new_user->flags |= USERFLAG_ISAUTHED;
     }
     free(cache->oldauth);
+    free(cache);
 }
 
 void deleteUser(int userid) {
@@ -313,7 +324,7 @@ void deleteUser(int userid) {
             //unregister channel
             printf_mysql_query("SELECT `botid`, `channel_name` FROM `bot_channels` LEFT JOIN `channels` ON `chanid` = `channel_id` WHERE `chanid` = '%s' AND `suspended` = '0'", row[1]);
             res2 = mysql_use();
-            while((row2 = mysql_fetch_row(res))) {
+            while((row2 = mysql_fetch_row(res2))) {
                 struct ClientSocket *bot;
                 int clientid = atoi(row2[0]);
                 for(bot = getBots(SOCKET_FLAG_READY, NULL); bot; bot = getBots(SOCKET_FLAG_READY, bot)) {
@@ -342,6 +353,6 @@ void deleteUser(int userid) {
 }
 
 void init_DBHelper() {
-    bind_registered(event_user_registered);
+    bind_registered(event_user_registered, 0);
 }