]> jfr.im git - irc/evilnet/x3.git/blobdiff - src/mod-helpserv.c
global message function that will deal with multi languages. Made use of it with...
[irc/evilnet/x3.git] / src / mod-helpserv.c
index 6287c9aa021e723e9f382bd6c482e728f8956018..dcfe35db9bde329a491987d549a1ae6c315f9505 100644 (file)
@@ -3,7 +3,7 @@
  *
  * This file is part of x3.
  *
- * srvx is free software; you can redistribute it and/or modify
+ * x3 is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
  * the Free Software Foundation; either version 2 of the License, or
  * (at your option) any later version.
@@ -218,6 +218,7 @@ static const struct message_entry msgtab[] = {
     { "HSMSG_REQ_PERSIST_PART", "Everything you tell me until you are helped (or you leave %s) will be recorded. If you part %s, your request will be lost." },
     { "HSMSG_REQ_PERSIST_HANDLE", "Everything you tell me until you are helped will be recorded." },
     { "HSMSG_REQ_MAXLEN", "Sorry, but your request has reached the maximum number of lines. Please wait to be assigned to a helper and continue explaining your request to them." },
+    { "HSMSQ_REQ_TEXT_ADDED", "Message from $b%s:$b %s" },
     { "HSMSG_REQ_FOUND_ANOTHER", "Request ID#%lu has been closed. $S detected that you also have request ID#%lu open. If you send $S a message, it will be associated with that request." },
 
 /* Messages that are inserted into request text */
@@ -1072,7 +1073,7 @@ static void helpserv_usermsg(struct userNode *user, struct helpserv_bot *hs, cha
             if (user->handle_info)
                 helpserv_notify(req->helper, "HSMSG_PAGE_UPD_REQUEST_AUTHED", req->id, user->nick, user->handle_info->handle, timestr, updatestr);
             else
-                helpserv_notify(req->helper, "HSMSG_PAGE_UPD_REQUESTNOT_AUTHED", req->id, user->nick, timestr, updatestr);
+                helpserv_notify(req->helper, "HSMSG_PAGE_UPD_REQUEST_NOT_AUTHED", req->id, user->nick, timestr, updatestr);
         else
             if (user->handle_info)
                 helpserv_page(PGSRC_STATUS, "HSMSG_PAGE_UPD_REQUEST_AUTHED", req->id, user->nick, user->handle_info->handle, timestr, updatestr);
@@ -1085,7 +1086,22 @@ static void helpserv_usermsg(struct userNode *user, struct helpserv_bot *hs, cha
 
     req->updated = now;
     if (!hs->req_maxlen || req->text->used < hs->req_maxlen)
+    {
         string_list_append(req->text, strdup(text));
+
+        struct userNode *likely_helper;
+        /* Find somebody likely to be the helper */
+        if (!req->helper)
+            likely_helper = NULL;
+        else if ((likely_helper = req->helper->handle->users) && !likely_helper->next_authed) {
+            /* only one user it could be :> */
+        } else for (likely_helper = req->helper->handle->users; likely_helper; likely_helper = likely_helper->next_authed)
+            if (GetUserMode(hs->helpchan, likely_helper))
+                break;
+
+        if(likely_helper)
+            send_target_message(1, likely_helper->nick, hs->helpserv, "HSMSQ_REQ_TEXT_ADDED", user->nick, text);
+    }
     else
         helpserv_msguser(user, "HSMSG_REQ_MAXLEN");
 }
@@ -1392,7 +1408,7 @@ static int show_helper_range(struct userNode *user, struct helpserv_bot *hs, int
     struct helpfile_table tbl;
     struct helpserv_user *hs_user;
     dict_iterator_t it;
-    enum helpserv_level last_level;
+/*    enum helpserv_level last_level; Zoot style */
     unsigned int ii;
 
     users.used = 0;
@@ -1413,7 +1429,8 @@ static int show_helper_range(struct userNode *user, struct helpserv_bot *hs, int
     }
     qsort(users.list, users.used, sizeof(users.list[0]), helpserv_user_comp);
     switch (user->handle_info->userlist_style) {
-    case HI_STYLE_DEF:
+    default:
+    case HI_STYLE_NORMAL:
         tbl.length = users.used + 1;
         tbl.width = 3;
         tbl.flags = TABLE_NO_FREE;
@@ -1431,6 +1448,7 @@ static int show_helper_range(struct userNode *user, struct helpserv_bot *hs, int
         }
         table_send((from_opserv ? opserv : hs->helpserv), user->nick, 0, NULL, tbl);
         break;
+    /*
     case HI_STYLE_ZOOT: default:
         last_level = HlNone;
         tbl.length = 0;
@@ -1454,6 +1472,7 @@ static int show_helper_range(struct userNode *user, struct helpserv_bot *hs, int
             helpserv_notice(user, "HSMSG_USERLIST_ZOOT_LVL", hs->helpserv->nick, helpserv_level_names[last_level]);
             table_send((from_opserv ? opserv : hs->helpserv), user->nick, 0, NULL, tbl);
         }
+        */
     }
     return 1;
 }