added support ranking system
[NeonServV5.git] / src / cmd_neonserv_listrank.c
diff --git a/src/cmd_neonserv_listrank.c b/src/cmd_neonserv_listrank.c
new file mode 100644 (file)
index 0000000..b2cf904
--- /dev/null
@@ -0,0 +1,43 @@
+
+#include "cmd_neonserv.h"
+
+/*
+* no arguments
+*/
+
+CMD_BIND(neonserv_cmd_listrank) {
+    MYSQL_RES *res, *res2;
+    MYSQL_ROW row;
+    struct Table *table;
+    int ranks = 0;
+    printf_mysql_query("SELECT `rank_id`, `rank_name` FROM `support_ranks`");
+    res = mysql_use();
+    table = table_init(3, mysql_num_rows(res) + 1, 0);
+    char *content[3];
+    content[0] = get_language_string(user, "NS_LISTRANK_ID");
+    content[1] = get_language_string(user, "NS_LISTRANK_NAME");
+    content[2] = get_language_string(user, "NS_LISTRANK_ASSIGNED");
+    table_add(table, content);
+    while ((row = mysql_fetch_row(res)) != NULL) {
+        ranks++;
+        content[0] = row[0];
+        content[1] = row[1];
+        printf_mysql_query("SELECT COUNT(*) FROM `users` WHERE `user_rank` = '%s'", row[0]);
+        res2 = mysql_use();
+        row = mysql_fetch_row(res2);
+        content[2] = row[0];
+    }
+    //send the table
+    char **table_lines = table_end(table);
+    int i;
+    for(i = 0; i < table->entrys; i++) {
+        reply(getTextBot(), user, table_lines[i]);
+    }
+    if(!ranks)
+        reply(getTextBot(), user, "NS_TABLE_NONE");
+    table_free(table);
+    printf_mysql_query("SELECT COUNT(*) FROM `users` WHERE `user_rank` = '0' AND `user_access` > 0");
+    res2 = mysql_use();
+    row = mysql_fetch_row(res2);
+    reply(getTextBot(), user, "NS_LISTRANK_UNRANKED", atoi(row[0]));
+}