X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=webcit%2Faddressbook_popup.c;h=c119cc18ee0b206df714070fa64cfe5367e48dcf;hb=HEAD;hp=8e687f3debe1a26ebfbe01a0816b1e3baaea0220;hpb=1b302cba797e9b8d6f94304f80c52ac63845503a;p=citadel.git diff --git a/webcit/addressbook_popup.c b/webcit/addressbook_popup.c index 8e687f3de..afbf3a0c7 100644 --- a/webcit/addressbook_popup.c +++ b/webcit/addressbook_popup.c @@ -1,200 +1,75 @@ /* - * $Id$ + * Dynamic HTML (formerly known as "AJAX") powered auto-completion * - * AJAX-powered auto-completion + * Copyright (c) 1996-2012 by the citadel.org team + * + * This program is open source software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License, version 3. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. */ #include "webcit.h" -/* - * Call this right before wDumpContent() on any page which requires the address book popup - */ -void address_book_popup(void) { - /* Open a new div, hidden initially, for address book popups. */ - wprintf("\n"); /* End of 'content' div */ - wprintf("
"); - wprintf("
"); - wprintf("
"); - wprintf("
"); - wprintf("
"); - /* The 'address_book_popup' div will be closed by wDumpContent() */ -} - -/* - * Address book popup window - */ -void display_address_book_middle_div(void) { - char buf[256]; - long len; - char *Name; - const char *VCName; - void *Namee; - StrBuf *DefAddrBook; - HashList *List; - HashPos *it; - - begin_ajax_response(); - - DefAddrBook = get_room_pref("defaddrbook"); - - wprintf(""); - wprintf(""); - wprintf(""); - wprintf("
"); - - wprintf("
" - "
"); - - wprintf("
"); - wprintf("
"); - - wprintf("", - bstr("target_input") - ); - - end_ajax_response(); -} - - - /* * Address book popup results */ -void display_address_book_inner_div() { - char buf[256]; - int num_targets = 0; - char target_id[64]; - char target_label[64]; - long len; - char *Name; - const char *VCName; - void *Namee; - HashList *List; - HashPos *it; - int i; +HashList* GetAddressbookList() +{ + HashList *List = NULL; + const StrBuf *WhichAddrBook; StrBuf *saved_roomname; + StrBuf *Name; + StrBuf *Line; + long BufLen; + int IsLocalAddrBook; - begin_ajax_response(); + WhichAddrBook = sbstr("which_addr_book"); + IsLocalAddrBook = strcasecmp(ChrPtr(WhichAddrBook), "__LOCAL_USERS__") == 1; - List = NewHash(1, NULL); - wprintf("
" - "\n"); - - wprintf("%s: ", _("Add")); - - num_targets = num_tokens(bstr("target_input"), '|'); - for (i=0; i", target_id); - } - - /* This 'close window' button works. Omitting it because we already have a close button - * in the upper right corner, and this one takes up space. - * - wprintf(""); - */ - - wprintf("
\n"); - - end_ajax_response(); + return List; } @@ -204,6 +79,6 @@ void InitModule_ADDRBOOK_POPUP (void) { - WebcitAddUrlHandler(HKEY("display_address_book_middle_div"), display_address_book_middle_div, 0); - WebcitAddUrlHandler(HKEY("display_address_book_inner_div"), display_address_book_inner_div, 0); + + RegisterIterator("ITERATE:ABNAMES", 0, NULL, GetAddressbookList, NULL, NULL, CTX_STRBUF, CTX_NONE, IT_NOFLAG); }