* Copyright (C) 2011-2012 Philipp Kreil (pk910)
*
* This program is free software: you can redistribute it and/or modify
* Copyright (C) 2011-2012 Philipp Kreil (pk910)
*
* This program is free software: you can redistribute it and/or modify
printf_mysql_query("SELECT `chanuser_id`, `chanuser_access`, `chanuser_flags` FROM `chanusers` WHERE `chanuser_uid` = '%d'", userid);
res2 = mysql_use();
if((row2 = mysql_fetch_row(res2)) != NULL) {
printf_mysql_query("SELECT `chanuser_id`, `chanuser_access`, `chanuser_flags` FROM `chanusers` WHERE `chanuser_uid` = '%d'", userid);
res2 = mysql_use();
if((row2 = mysql_fetch_row(res2)) != NULL) {
- if(atoi(row[0]) > atoi(row2[0])) {
- printf_mysql_query("UPDATE `chanusers` SET `chanuser_access` = '%s' WHERE `chanuser_id` = '%s'", row[0], row2[0]);
+ if(atoi(row[1]) > atoi(row2[1])) {
+ printf_mysql_query("UPDATE `chanusers` SET `chanuser_access` = '%s' WHERE `chanuser_id` = '%s'", row[1], row2[0]);
printf_mysql_query("UPDATE `owner_history` SET `owner_history_from_uid` = '%d' WHERE `owner_history_from_uid` = '%d'", userid, newuid);
printf_mysql_query("UPDATE `owner_history` SET `owner_history_from_uid` = '%d' WHERE `owner_history_from_uid` = '%d'", userid, newuid);
printf_mysql_query("UPDATE `noinvite` SET `uid` = '%d' WHERE `uid` = '%d'", userid, newuid);
printf_mysql_query("UPDATE `owner_history` SET `owner_history_from_uid` = '%d' WHERE `owner_history_from_uid` = '%d'", userid, newuid);
printf_mysql_query("UPDATE `owner_history` SET `owner_history_from_uid` = '%d' WHERE `owner_history_from_uid` = '%d'", userid, newuid);
printf_mysql_query("UPDATE `noinvite` SET `uid` = '%d' WHERE `uid` = '%d'", userid, newuid);
- printf_mysql_query("DELETE FROM `users` WHERE `chanuser_id` = '%d'", newuid);
- } else {
- //simply rename the account
- printf_mysql_query("UPDATE `users` SET `user_user` = '%s' WHERE `user_id` = '%d'", escape_string(newauth), userid);
+ printf_mysql_query("DELETE FROM `users` WHERE `user_id` = '%d'", newuid);
char *alertchan = get_string_field("General.CheckAuths.alertchan");
if(alertchan) {
struct ChanNode *alertchan_chan = getChanByName(alertchan);
char *alertchan = get_string_field("General.CheckAuths.alertchan");
if(alertchan) {
struct ChanNode *alertchan_chan = getChanByName(alertchan);
- if(!isFakeHost(old_user->host) || !isFakeHost(new_user->host)) return 0;
+ //extract host from new_mask
+ char *new_host = strchr(new_mask, '@');
+ if(new_host)
+ new_host++;
+ else
+ return;
+ if(!isFakeHost(user->host) || !isFakeHost(new_host))
+ return;
cache->oldauth = strdup(oldauth);
lookup_authname(newauth, 0, event_user_registered_auth_lookup, cache);
}
cache->oldauth = strdup(oldauth);
lookup_authname(newauth, 0, event_user_registered_auth_lookup, cache);
}
}
static AUTHLOOKUP_CALLBACK(event_user_registered_auth_lookup) {
struct event_user_registered_cache *cache = data;
if(exists) {
renameAccount(cache->oldauth, auth);
}
static AUTHLOOKUP_CALLBACK(event_user_registered_auth_lookup) {
struct event_user_registered_cache *cache = data;
if(exists) {
renameAccount(cache->oldauth, auth);
- strcpy(cache->new_user->auth, auth);
- cache->new_user->flags |= USERFLAG_ISAUTHED;
+ strcpy(cache->user->auth, auth);
+ cache->user->flags |= USERFLAG_ISAUTHED;