In addition to all available address book rooms, the address
authorArt Cancro <ajc@citadel.org>
Sat, 21 Apr 2007 03:01:28 +0000 (03:01 +0000)
committerArt Cancro <ajc@citadel.org>
Sat, 21 Apr 2007 03:01:28 +0000 (03:01 +0000)
book popup now also has an option to select from the local system's
user list.

webcit/addressbook_popup.c
webcit/messages.c

index 467d9356c8b18bc9e26bc31666d23fa80ffb35ad..41753f33e1eba6e70185c850f3a9642a74524cd1 100644 (file)
@@ -27,6 +27,11 @@ void display_address_book_middle_div(void) {
                " onChange=\"PopulateAddressBookInnerDiv($('which_addr_book').value,'%s')\">",
                bstr("target_input")
        );
+
+       wprintf("<option value=\"__LOCAL_USERS__\">");
+       escputs(serv_info.serv_humannode);
+       wprintf("</option>\n");
+
        serv_puts("LKRA");
        serv_getln(buf, sizeof buf);
        if (buf[0] == '1') while(serv_getln(buf, sizeof buf), strcmp(buf, "000")) {
@@ -63,22 +68,38 @@ void display_address_book_middle_div(void) {
  */
 void display_address_book_inner_div() {
        char buf[256];
+       char username[256];
 
        begin_ajax_response();
 
        wprintf("<div align=center><form onSubmit=\"return false;\">"
                "<select name=\"whichaddr\" id=\"whichaddr\" size=\"15\">\n");
 
-       serv_printf("GOTO %s", bstr("which_addr_book"));
-       serv_getln(buf, sizeof buf);
-       serv_puts("DVCA");
-       serv_getln(buf, sizeof buf);
-       if (buf[0] == '1') while(serv_getln(buf, sizeof buf), strcmp(buf, "000")) {
-               wprintf("<option value=\"");
-               escputs(buf);
-               wprintf("\">");
-               escputs(buf);
-               wprintf("</option>\n");
+       if (!strcasecmp(bstr("which_addr_book"), "__LOCAL_USERS__")) {
+               serv_puts("LIST");
+               serv_getln(buf, sizeof buf);
+               if (buf[0] == '1') while(serv_getln(buf, sizeof buf), strcmp(buf, "000")) {
+                       extract_token(username, buf, 0, '|', sizeof username);
+                       wprintf("<option value=\"");
+                       escputs(username);
+                       wprintf("\">");
+                       escputs(username);
+                       wprintf("</option>\n");
+               }
+       }
+
+       else {
+               serv_printf("GOTO %s", bstr("which_addr_book"));
+               serv_getln(buf, sizeof buf);
+               serv_puts("DVCA");
+               serv_getln(buf, sizeof buf);
+               if (buf[0] == '1') while(serv_getln(buf, sizeof buf), strcmp(buf, "000")) {
+                       wprintf("<option value=\"");
+                       escputs(buf);
+                       wprintf("\">");
+                       escputs(buf);
+                       wprintf("</option>\n");
+               }
        }
 
        wprintf("</select>\n");
index 86ec2a5acb4a0076aaa17d837d7cd66f0c187a3b..9e686029f55acc6075751e1446ee0a7065f357ad 100644 (file)
@@ -3074,7 +3074,12 @@ void display_enter(void)
 
        wprintf("<tr><td>");
        wprintf("<font size=-1>");
-       wprintf(_("Subject (optional):"));
+       if (recipient_required) {
+               wprintf(_("Subject:"));
+       }
+       else {
+               wprintf(_("Subject (optional):"));
+       }
        wprintf("</font>");
        wprintf("</td><td>"
                "<input type=\"text\" name=\"subject\" value=\"");