3 * argv[0] (optional) mask
5 static CMD_BIND(neonserv_cmd_bans) {
9 int i, with_expire = 0, cindex = 0;
10 char triggered_str[MAXLEN], expires_str[MAXLEN];
12 printf_mysql_query("SELECT `ban_mask`, `user_user`, `ban_triggered`, `ban_timeout`, `ban_reason` FROM `bans` LEFT JOIN `users` ON `ban_owner` = `user_id` WHERE `ban_channel` = '%d'", chan->channel_id);
14 table = table_init(5, mysql_num_rows(res) + 1, 0);
16 //add a NULL row (we add values later)
22 table_add(table, content);
23 while ((row = mysql_fetch_row(res)) != NULL) {
24 if(argc > 0 && match(argv[0], row[0])) continue;
27 content[2] = (strcmp(row[2], "0") ? timeToStr(user, (time(0) - atoi(row[2])), 2, triggered_str) : get_language_string(user, "NS_USERS_SEEN_NEVER"));
28 if(strcmp(row[3], "0")) {
30 //we're using expire times now...
31 for(i = 0; i < cindex; i++)
32 table_change_field(table, i+1, 3, get_language_string(user, "NS_USERS_SEEN_NEVER"));
35 content[3] = timeToStr(user, (time(0) - atoi(row[3])), 2, expires_str);
37 content[3] = (with_expire ? get_language_string(user, "NS_USERS_SEEN_NEVER") : NULL);
40 table_add(table, content);
42 //now we add the table header
43 content[0] = get_language_string(user, "NS_BANS_HEADER_MASK");
44 content[1] = get_language_string(user, "NS_BANS_HEADER_SETBY");
45 content[2] = get_language_string(user, "NS_BANS_HEADER_TRIGGERED");
46 content[3] = (with_expire ? get_language_string(user, "NS_BANS_HEADER_EXPIRES") : NULL);
47 content[4] = get_language_string(user, "NS_BANS_HEADER_REASON");
48 table_change(table, 0, content);
49 char **table_lines = table_end(table);
50 for(i = 0; i < table->entrys; i++) {
51 reply(getTextBot(), user, table_lines[i]);
54 reply(getTextBot(), user, "NS_TABLE_NONE");
55 reply(getTextBot(), user, "NS_TABLE_COUNT", cindex);