perror("malloc() failed");
return 0;
}
- settings->flags = SPAMSETTINGS_SCANVOICE | SPAMSETTINGS_FLOODSCAN | SPAMSETTINGS_SPAMSCAN;
- settings->spam_amount = 3;
- settings->flood_amount = 4;
- settings->flood_time = 5;
+ MYSQL_RES *res;
+ MYSQL_ROW row, defaults = NULL;
+ printf_mysql_query("SELECT `channel_scanstate`, `channel_maxrepeat`, `channel_maxflood`, `channel_floodtime`, `channel_maxjoin`, `channel_jointime` FROM `channels` WHERE `channel_id` = '%d'", chan->channel_id);
+ res = mysql_use();
+ row = mysql_fetch_row(res);
+ if(!row[0] || !row[1] || !row[2] || !row[3] || !row[4] || !row[5]) {
+ printf_mysql_query("SELECT `channel_scanstate`, `channel_maxrepeat`, `channel_maxflood`, `channel_floodtime`, `channel_maxjoin`, `channel_jointime` FROM `channels` WHERE `channel_name` = 'defaults'");
+ res = mysql_use();
+ defaults = mysql_fetch_row(res);
+ }
+ settings->flags = atoi(row[0] ? row[0] : defaults[0]);
+ settings->spam_amount = atoi(row[1] ? row[1] : defaults[1]);
+ settings->flood_amount = atoi(row[2] ? row[2] : defaults[2]);
+ settings->flood_time = atoi(row[3] ? row[3] : defaults[3]);
+ settings->join_amount = atoi(row[4] ? row[4] : defaults[4]);
+ settings->join_time = atoi(row[5] ? row[5] : defaults[5]);
chan->spam_settings = settings;
return 1;
}
//change value
printf_mysql_query("UPDATE `channels` SET `channel_maxrepeat` = '%d' WHERE `channel_id` = '%d' ", atoi(argument), chan->channel_id);
sprintf(cvalue, "%d", atoi(argument));
+ if(chan->spam_settings)
+ chan->spam_settings->spam_amount = atoi(argument);
}
return cvalue;
}
cflags |= SPAMSETTINGS_SPAMSCAN;
printf_mysql_query("UPDATE `channels` SET `channel_scanstate` = '%d' WHERE `channel_id` = '%d' ", cflags, chan->channel_id);
cvalue = argument;
+ if(chan->spam_settings)
+ chan->spam_settings->flags = cflags;
}
return cvalue;
}
cflags |= SPAMSETTINGS_FLOODSCAN;
printf_mysql_query("UPDATE `channels` SET `channel_scanstate` = '%d' WHERE `channel_id` = '%d' ", cflags, chan->channel_id);
cvalue = argument;
+ if(chan->spam_settings)
+ chan->spam_settings->flags = cflags;
}
return cvalue;
}
cflags |= SPAMSETTINGS_JOINSCAN;
printf_mysql_query("UPDATE `channels` SET `channel_scanstate` = '%d' WHERE `channel_id` = '%d' ", cflags, chan->channel_id);
cvalue = argument;
+ if(chan->spam_settings)
+ chan->spam_settings->flags = cflags;
}
return cvalue;
}
cflags |= SPAMSETTINGS_SCANOPS;
printf_mysql_query("UPDATE `channels` SET `channel_scanstate` = '%d' WHERE `channel_id` = '%d' ", cflags, chan->channel_id);
cvalue = argument;
+ if(chan->spam_settings)
+ chan->spam_settings->flags = cflags;
}
return cvalue;
}
cflags |= SPAMSETTINGS_SCANVOICE;
printf_mysql_query("UPDATE `channels` SET `channel_scanstate` = '%d' WHERE `channel_id` = '%d' ", cflags, chan->channel_id);
cvalue = argument;
+ if(chan->spam_settings)
+ chan->spam_settings->flags = cflags;
}
return cvalue;
}
}
printf_mysql_query("UPDATE `channels` SET `channel_maxflood` = '%d', `channel_floodtime` = '%d' WHERE `channel_id` = '%d' ", amount, timep, chan->channel_id);
sprintf(cvalue, "%d:%d", amount, timep);
+ if(chan->spam_settings) {
+ chan->spam_settings->flood_amount = amount;
+ chan->spam_settings->flood_time = timep;
+ }
}
return cvalue;
}
}
printf_mysql_query("UPDATE `channels` SET `channel_maxjoin` = '%d', `channel_jointime` = '%d' WHERE `channel_id` = '%d' ", amount, timep, chan->channel_id);
sprintf(cvalue, "%d:%d", amount, timep);
+ if(chan->spam_settings) {
+ chan->spam_settings->join_amount = amount;
+ chan->spam_settings->join_time = timep;
+ }
}
return cvalue;
}