+static TIMEQ_CALLBACK(neonhelp_remind_open_requests) {
+ int clientid = *((int*)data);
+ MYSQL_RES *res;
+ MYSQL_ROW row;
+ printf_mysql_query("SELECT `helpserv_support`, `helpserv_public`, `helpserv_intern`, `helpserv_intern_announce` FROM `helpserv_settings` WHERE `helpserv_botid` = '%d'", clientid);
+ res = mysql_use();
+ if (!(row = mysql_fetch_row(res)) || !row[2]) {
+ free(data);
+ return;
+ }
+ struct ClientSocket *client;
+ for(client = getBots(SOCKET_FLAG_READY, NULL); client; client = getBots(SOCKET_FLAG_READY, client)) {
+ if(client->clientid == clientid)
+ break;
+ }
+ if(!client) {
+ free(data);
+ return;
+ }
+ //count open requests
+ int requests = 0;
+ struct NeonHelpNode *helpnode;
+ if(client->flags & SOCKET_HAVE_HELPNODE) {
+ for(helpnode = client->botclass_helpnode; helpnode; helpnode = helpnode->next) {
+ if(helpnode->status == 0) {
+ requests++;
+ }
+ }
+ }
+ if(requests) {
+ char nameBuf[30];
+ sprintf(nameBuf, "neonhelp_%d", client->clientid);
+ if(!timeq_name_exists(nameBuf)) {
+ timeq_add_name(nameBuf, 300, neonhelp_remind_open_requests, data);
+ }
+ char replybuf[MAXLEN];
+ build_language_string(NULL, replybuf, (requests == 1 ? "NH_REMIND_OPEN_REQUESTS_1" : "NH_REMIND_OPEN_REQUESTS_2"), requests);
+ putsock(client, "PRIVMSG %s :%s", row[2], replybuf);
+ } else
+ free(data);
+}
+