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;
}